Scrapy 如何得到原始的 start_url

2017-06-28 22:38:05 +08:00
 donglongtu

Scrapy爬虫时,由于重定向或是其他原因,会导致原始的start_url发生改变,怎样才能得到原始的start_url?

def start_requests(self):
    start_url = 'your_scrapy_start_url'
    yield Request(start_url, self.parse)
    
def parse(self, response):
    item = YourItem()
    item['start_url'] = 原始请求的 start_url
    yield item
2211 次点击
所在节点    Python
2 条回复
revotu
2017-06-28 22:39:34 +08:00
Scrapy 爬虫常见问题总结 : http://www.revotu.com/scrapy-reptile-faq.html

利用 Request 中的 meta 参数传递信息

def start_requests(self):
start_url = 'your_scrapy_start_url'
yield Request(start_url, self.parse, meta={'start_url':start_url})

def parse(self, response):
item = YourItem()
item['start_url'] = response.meta['start_url']
yield item
knightdf
2017-06-29 00:20:59 +08:00
response.request.url

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371782

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX