Как использовать Scrapy - PullRequest
3 голосов
/ 22 сентября 2010

Я хотел бы знать, как я могу запустить сканер на основе Scrapy.Я установил инструмент через apt-get install и попытался запустить пример:

/usr/share/doc/scrapy/examples/googledir/googledir$ scrapy list
directory.google.com

/usr/share/doc/scrapy/examples/googledir/googledir$ scrapy crawl

Я взломал код из spiders / google_directory.py, но кажется, что он не выполняется, потому что я не выполняюувидеть любые отпечатки, которые я вставил.Я прочитал их документацию, но не нашел ничего связанного с этим;У вас есть какие-нибудь идеи?

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

Спасибо!

Ответы [ 2 ]

7 голосов
/ 23 сентября 2010

Вы пропустили имя паука в команде сканирования.Используйте:

$ scrapy crawl directory.google.com

Кроме того, я предлагаю вам скопировать пример проекта в свой дом вместо работы в каталоге /usr/share/doc/scrapy/examples/, чтобы вы могли изменить его и поиграть с ним:

$ cp -r /usr/share/doc/scrapy/examples/googledir ~
$ cd ~/googledir
$ scrapy crawl directory.google.com
7 голосов
/ 23 сентября 2010

EveryBlock.com выпустил некоторый качественный код очистки , используя lxml, urllib2 и Django в качестве стека.

Scraperwiki.com вдохновляет, полон примеров скребков Python.

Простой пример с cssselect:

from lxml.html import fromstring

dom = fromstring('<html... ...')
navigation_links = [a.get('href') for a in htm.cssselect('#navigation a')]
...