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