Краулер

ZW
На сайте с 10.08.2004
Offline
7
1717

Здравствуйте!

Эта тема немного не в кассу, но все же...

Есть несколько сайтов, по которым хотелось бы собрать статистику вида: кол-во страниц сайта, средний размер страницы, самая "легкая" страница и самая "тяжелая" страница. Должен сразу оговориться, что статистику надо подбивать по всем сайтам сразу и по каждому в отдельности.

В связи с чем собственно вопрос: подскажет ли кто с какой стороны браться за задачу? может кто порекомендует "распотрошить" какой поисковичек (точнее индексер от него)?

P.S. Хотелось бы задачу решить средствами PERL или C/C++

С уважением, Сибирский Оборотень
AiK
На сайте с 27.10.2000
Offline
257
AiK
#1

Zerg WereWolf, потрошить кого-то не обязятельно.

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

Очередь этих ссылок думаю и сам догадаешься как организовать.

Дальше - только канал широкий нужен, который как правило у хостера есть :)

ZW
На сайте с 10.08.2004
Offline
7
#2

Ммм... распотрошил я странички на предмет ссылок - ок, но (!) там ссылки не только на этот сайт, но и на другие + картинки, pdf-ки, wrl-ки, co-ки и многое еще чего, что считать не нужно. Метод HEAD не всегда пролезет - контент большей частью динамический. По части ширины канала не беспокойтесь - до того, что я собрался обсчитывать канал 100 Mbps... Кстати, по части очередей - оптимизировать это дело никак нельзя?

AiK
На сайте с 27.10.2000
Offline
257
AiK
#3

http://search.cpan.org/dist/HTML-Parser/lib/HTML/LinkExtor.pm

Анализ полученных ссылок - regexp'ы.

Оптимизация... ну если нужно обойти все подряд ссылки, то что тут оптимизировать-то? Ну несколько процессов в параллель запустить...

N
На сайте с 15.12.2002
Offline
12
#4

А wget не подойдет? Скачать им все страницы на диск, а потом посчитать размеры файлов. По ссылкам он сам ходить умеет, только ему ключик нужно указать, чтобы он рекурсивно страницы обходил.

ZW
На сайте с 10.08.2004
Offline
7
#5
Как писал Nobbin
А wget не подойдет? Скачать им все страницы на диск, а потом посчитать размеры файлов. По ссылкам он сам ходить умеет, только ему ключик нужно указать, чтобы он рекурсивно страницы обходил.

Скачивать wget-ом несколько гигабайт? - глупо...

NL
На сайте с 29.01.2003
Offline
212
#6

Чтобы найти самую "легкую" и самую "тяжелую" страницу, Вам этих гигов не избежать. wget - действительно один из вариантов.

Reanimator
На сайте с 25.12.2002
Offline
120
#7

Помниться у wgeta есть ключик, который позволяет не скачивать, а лишь проверять наличие. Возможно в ответе он сообщает размер.

Блог о SEO софте и сервисах (http://www.seo-office.ru) Dating Software (http://www.datingpro.com)
AiK
На сайте с 27.10.2000
Offline
257
AiK
#8

Reanimator, в некоторых случаях невозможно узнать размер страницы предварительно её целиком не выкачав. Особенности протокола. Кроме того, wget вряд ли умеет обходить ловушки с session_id...

Другое дело, что вероятно имеет смысл обратиться к исходникам wget'а и дописать недостающее...

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