Scrapy Web Scraper не может сканировать ссылки - PullRequest
0 голосов
/ 19 августа 2010

Я очень новичок в Scrapy. Вот мой паук, чтобы ползти витой паутиной.

class TwistedWebSpider(BaseSpider):

    name = "twistedweb3"
    allowed_domains = ["twistedmatrix.com"]
    start_urls = [
        "http://twistedmatrix.com/documents/current/web/howto/",
    ]
    rules = (
        Rule(SgmlLinkExtractor(),
            'parse',
            follow=True,
        ),
    )
    def parse(self, response):
        print response.url
        filename = response.url.split("/")[-1]
        filename = filename or "index.html"
        open(filename, 'wb').write(response.body)

Когда я запускаю scrapy-ctl.py crawl twistedweb3, он только загружается.

Получая контент index.html, я попытался использовать SgmlLinkExtractor, он извлекает ссылки, как я и ожидал, но за этими ссылками невозможно следовать.

Можете ли вы показать мне, где я иду не так?

Предположим, я хочу получить css, файл javascript. Как мне этого добиться? Я имею в виду получить полный сайт?

1 Ответ

4 голосов
/ 19 августа 2010
Атрибут

rules принадлежит CrawlSpider .Использование class MySpider(CrawlSpider).Кроме того, когда вы используете CrawlSpider, вы не должны переопределять метод parse, вместо этого используйте parse_response или другое подобное имя.

...