Как лучше всего разработать веб-сканеры - PullRequest
3 голосов
/ 07 февраля 2009

Я привык создавать некоторые сканеры для компиляции информации, и когда я захожу на веб-сайт, мне нужна информация, я запускаю новый сканер, специфичный для этого сайта, большую часть времени используя сценарии оболочки и иногда PHP.

Я делаю это с помощью простой for для итерации списка страниц, wget загрузите его и sed, tr, awk или других утилит для очистки страницы и захвата конкретная информация мне нужна.

Весь процесс занимает некоторое время в зависимости от сайта и больше, чтобы загрузить все страницы. И я часто захожу на сайт AJAX, который все усложняет

Мне было интересно, есть ли лучшие способы сделать это, более быстрые способы или даже некоторые приложения или языки, чтобы помочь такой работе.

Ответы [ 2 ]

6 голосов
/ 07 февраля 2009

Использование регулярных выражений для синтаксического анализа контента - это плохая идея , которая обсуждалась здесь бесчисленное количество раз.

Вы должны выполнить синтаксический анализ документа в DOM-дереве, а затем вы можете извлечь любые гиперссылки, таблицы стилей, файлы сценариев, изображения или другие внешние ссылки, которые вы хотите, и соответствующим образом пройти по ним.

Многие языки сценариев имеют пакеты для получения веб-страниц (например, curl для PHP) и для анализа HTML (например, Beautiful Soup для Python). Идите по этому пути вместо хакерского решения соответствия регулярных выражений.

2 голосов
/ 05 апреля 2010

Если вы используете Python, Scrapy великолепен, прост в использовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...