Как создать такой парсер?

Busgame
На сайте с 10.07.2011
Offline
24
#41

вся загвоздка в п.1!

Во-первых, где взять список неотпарсенных ссылок.

Во-вторых, этот список постоянно обновляется. Причем с такой скоростью, что вручную это делать не возможно (хотя я сразу говорил, что вручную должен лишь написать этот скрипт).

---------- Добавлено 30.12.2012 в 16:23 ----------

DenisVS, спасибо за ваш туториал, тоже смотел в сторону Python, пока думаю: PHP, Perl или Python. Но, скорее всего возьму первый вариант.

D
На сайте с 14.01.2007
Offline
153
#42

Busgame, пусть массив будет этим списком.

вначале добавляем туда главную и запускаем цикл. все найденные ссылки добавляются в массив.

отпарсенную ссылку из массива выкидываем.

?

Busgame
На сайте с 10.07.2011
Offline
24
#43
отпарсенную ссылку из массива выкидываем.

каждую отпарсенную или только главную?

D
На сайте с 14.01.2007
Offline
153
#44

Busgame, каждую отпарсенную.

но это уже детали. там целое поле для оптимизации.

вам принцип понятен?

Busgame
На сайте с 10.07.2011
Offline
24
#45

Принцип, то понятен, спасибо. Но убирать каждую отпарсенную в ручную - бред. Придется подумать над этим вопросом. За одно и над другими языками подумаю.

D
На сайте с 14.01.2007
Offline
153
#46

Busgame, где я писал про "вручную"?

или что по вашему вручную?

Busgame
На сайте с 10.07.2011
Offline
24
#47

Из списка неотпарсенных ссылок убирать отпарсенные. Либо вручную, либо опять же каким-то скриптом. Я про отбор ссылок, разумеется.

D
На сайте с 14.01.2007
Offline
153
#48

Busgame, как можно вручную убрать ссылки из динамического массива?

Busgame
На сайте с 10.07.2011
Offline
24
#49

Т.к. я новичок в php, не совсем понимаю какие массивы бывают динамическими, а какие... другими.

В моем понимании массив это:

$mas = array(

$a = 'a';

$b = 'b';

)

Если грубо говоря.

И может дадите пример (линк) скрипта удаления ссылок из динамического массива.

L9
На сайте с 28.12.2009
Offline
53
#50
Dinozavr:
Busgame, вы понимаете, что весь ваш парсер - это бесконечный цикл
?

Почему цикл должен быть бесконечным ?

Конец ему есть - просканировали все ссылки.

Опредилитесь с колекциями.

Я использовал :

1. Dictionary O(1) - отсканированые ссылки. Можно и SortArray, но тогда производительнось упадёт до log(N). А если простой Array, то хуже всего N^2.

На больших сайтах будет существенно заметно.

2. Queue (1) - содержит и пополняет себя новыми и не отсканироваными ссылками.

Программирую на ASP.NET, MVC, C#, ANGULAR JS

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий