我写了一个蜘蛛,可以爬行我的网站并刮擦一堆标签。我现在正在尝试使其返回在其上发现链接的URL。
例如:
在www.example.com/product/123
上找到 www.example.com/page/2
。
当scrapy从/product/123
抓取信息时,我想要一个“ Scraped From”字段并返回/page/2
。对于要抓取的每个URL,我想查找找到该URL的原始页面。我一直在浏览文档,似乎无法弄清楚。任何帮助将不胜感激!
答案 0 :(得分:1)
最简单的方法是使用response.headers。应该有一个引荐来源标头。
referer = response.headers['Referer']
您还可以使用meta将信息传递到下一个URL。
def parse(self, response):
product_url = response.css('#url').get()
yield scrapy.Request(product_url, callback=self.parse_product, meta={'referer': response.url})
def parse_product(self, response):
referer = response.meta['referer']
item = ItemName()
item['referer'] = referer
yield item