scrapy在start_requests中传入参数给parser


scrapy在start_requests中发出请求时,需要传入一些参数进行动态控制。为保证scrapy的请求的并发性,将其改为串行执行显然严重影响效率,因此不考虑采用全局变量的方法。因此可以使用在scrapy.Request中加入meta数据的方式向parse传入参数,如下代码的请求中加入了meta元素,包含regionId字段,可在parse中解析到

    def start_requests(self):
    	urlTemp='http://www.baidu.com'
        urls = [urlTemp]
        for url in urls:
            yield scrapy.Request(url=url, meta={'regionId': 0}, callback=self.parse)

    def parse(self, response):
        print(response.meta['regionId'])


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM