Scrapy如何得到原始的start_url

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
阅读 4.7k
1 个回答

参考文章:Scrapy爬虫常见问题总结

利用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
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题