python - Scrapy如何得到原始的start_url

查看:206
本文介绍了python - 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

解决方案

参考文章: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

这篇关于python - Scrapy如何得到原始的start_url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆