我正在尝试使用 scrapy 下载仅 HTML 的网站。我正在使用 CrawlSpider 类来实现这一点。这是我的解析器的样子。我的爬虫下载页面的 HTML 源代码并制作网站的本地镜像。它成功地镜像了网站,但没有图像。要下载附加到每个页面的图像,我尝试添加:
def parse_link(self, response):
# Download the source of the page
# CODE HERE
# Now search for images
x = HtmlXPathSelector(response)
imgs = x.select('//img/@src').extract()
# Download images
for i in imgs:
r = Request(urljoin(response.url, i), callback=self.parse_link)
# execute the request here
在Scrapy's Documentation的示例中,解析器似乎返回了 Request 对象,然后执行该对象。
有没有办法手动执行请求,以获得响应?我需要为每个 parse_link 调用执行多个请求。