Scrapy根据开始网址列表保留所有唯一页面

时间:2015-01-30 22:21:26

标签: python web-scraping scrapy scrapy-spider

我想给Scrapy一个开始网址列表,并让它访问每个起始网页上的每个链接。对于每个链接,如果它之前没有访问过该页面,我想下载该页面并将其保存在本地。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

设置默认的parse回调以关闭所有链接。 By default Scrapy does not visit the same page twice

def parse(self, response):
    links = LinkExtractor().extract_links(response)
    return (Request(url=link.url, callback=self.parse_page) for link in links)

def parse_page(self, response):
    # name = manipulate response.url to be a unique file name
    with open(name, 'wb') as f:
        f.write(response.body)