Scrapy web scraper无法抓取链接

时间:2010-08-19 02:35:34

标签: python screen-scraping scrapy

我是Scrapy的新手。在这里我的蜘蛛爬行twistedweb。

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 个答案:

答案 0 :(得分:4)

rules属性属于CrawlSpider。使用class MySpider(CrawlSpider)。 此外,当您使用CrawlSpider时,您不得覆盖parse方法, 而是使用parse_response或其他类似名称。