Веб-сканер Python с базой данных MySQL - PullRequest
6 голосов
/ 11 августа 2011

Я хочу создать или найти веб-сканер с открытым исходным кодом (паук / бот), написанный на Python.Он должен находить и переходить по ссылкам, собирать метатеги и метаописания, заголовки веб-страниц и URL-адрес веб-страницы и помещать все данные в базу данных MySQL.

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

Ответы [ 3 ]

4 голосов
/ 11 августа 2011

да, я знаю,

библиотеки

https://github.com/djay/transmogrify.webcrawler

http://code.google.com/p/harvestman-crawler/

http://code.activestate.com/pypm/orchid/

веб с открытым исходным кодомcrawler

http://scrapy.org/

учебные пособия

http://www.example -code.com / python / pythonspider.asp

PS Iне знаю, используют ли они mysql, потому что обычно python использует sqlit или postgre sql, поэтому, если вы хотите, вы можете использовать предоставленные мной библиотеки и импортировать модуль python-mysql и сделать это: D

http://sourceforge.net/projects/mysql-python/

4 голосов
/ 11 августа 2011

Я бы посоветовал вам использовать Scrapy, который является мощным фреймворком, основанным на Twisted и lxml. Он особенно хорошо подходит для задач, которые вы хотите выполнять, он использует правила на основе регулярных выражений для перехода по ссылкам и позволяет использовать регулярные выражения или выражения XPath для извлечения данных из HTML. Он также предоставляет то, что они называют «конвейерами», чтобы выгрузить данные во что угодно.

Scrapy не предоставляет встроенный конвейер MySQL, но кто-то написал один здесь , из которого вы можете создать свой собственный.

3 голосов
/ 11 августа 2011

Scrappy - это платформа для сканирования и сканирования в Интернете, которую можно расширить для вставки выбранных данных в базу данных.

Это похоже на обратную структуру Django.

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