最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解讀Scrapy回調函數callback傳遞參數的方式

 更新時間:2022年12月19日 10:32:01   作者:bladestone  
這篇文章主要介紹了解讀Scrapy回調函數callback傳遞參數的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Scrapy回調函數

回調方法示例:

yield Request(url=self.base_url + 'QueryInfo', headers=self.request_headers, method="POST", body=json.dumps(request_params), callback=self.page_query_schools, cb_kwargs=add_params)

callback對應的是page_query_school()即為回調的方法。

傳遞參數方式

如何向回調方法中傳遞參數呢?

在scrapy1.7之后,是基于cb_kwargs方式傳遞dict類型,可以在回調方式中直接訪問對應的參數值。

add_params = {}
add_params['province_code'] = province_code
add_params['province_name'] = name
yield Request(url=self.base_url + 'QueryInfo', headers=self.request_headers, method="POST", body=json.dumps(request_params), callback=self.page_query_schools, cb_kwargs=add_params)
? ? ? ? ?
def page_query_schools(self, response, province_code, province_name): ? ? ? ?
? ? ?# logic definition?

從上述方法中可知, add_params初始化為dict, 放入province_code/province_name兩個值。

在page_query_schools()方法中,其中的key值直接以參數傳入方法: province_code/province_name.

注意事項

錯誤的用法:

add_params = {}
add_params['data_item']['province_code'] = province_code
add_params['data_item']['province_name'] = name
yield Request(url=self.base_url + 'QueryInfo', headers=self.request_headers, method="POST", body=json.dumps(request_params), callback=self.page_query_schools, cb_kwargs=dict(data_hsh=add_params))
? ? ? ??
def page_query_schools(self, response, data_hsh): ? ? ? ?
? ? # logic definition?

這種用法的錯誤是:data_hsh傳遞是引用,在循環(huán)訪問中,data_hsh是指向相同的結果值,造成變量的引用有誤,與預期不符。

正確的做法:cb_kwargs傳遞直接變量屬性值,不要使用復雜的數據結構,可以做到不同的屬性值

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 使用with torch.no_grad():顯著減少測試時顯存占用

    使用with torch.no_grad():顯著減少測試時顯存占用

    這篇文章主要介紹了使用with torch.no_grad():顯著減少測試時顯存占用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • DRF?QuerySet?Instance數據庫操作功能概述

    DRF?QuerySet?Instance數據庫操作功能概述

    這篇文章主要為大家介紹了DRF?QuerySet?Instance數據庫處理的功能概述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • pandas如何讀取含有中文的excel

    pandas如何讀取含有中文的excel

    這篇文章主要介紹了pandas如何讀取含有中文的excel問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 詳解tensorflow實現遷移學習實例

    詳解tensorflow實現遷移學習實例

    本篇文章主要介紹了詳解tensorflow實現遷移學習實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 基于OpenCV的攝像頭測距的實現示例

    基于OpenCV的攝像頭測距的實現示例

    本文主要介紹了基于OpenCV的攝像頭測距的實現示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python中如何調用系統(tǒng)命令和進程

    Python中如何調用系統(tǒng)命令和進程

    在Python編程中,subprocess庫是一個功能強大的工具,本文將詳細介紹subprocess庫的功能和應用場景,并通過代碼示例進行說明,需要的可以了解下
    2025-02-02
  • pandas去除重復列的實現方法

    pandas去除重復列的實現方法

    這篇文章主要介紹了pandas去除重復列的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • 詳解pandas映射與數據轉換

    詳解pandas映射與數據轉換

    這篇文章主要介紹了pandas映射與數據轉換的相關資料,幫助大家更好的利用python進行數據分析,感興趣的朋友可以了解下
    2021-01-01
  • Python+drawpad實現CPU監(jiān)控小程序

    Python+drawpad實現CPU監(jiān)控小程序

    這篇文章主要為大家詳細介紹了如何利用Python+drawpad實現一個簡單的CPU監(jiān)控小程序,文中示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-08-08
  • python自動查詢12306余票并發(fā)送郵箱提醒腳本

    python自動查詢12306余票并發(fā)送郵箱提醒腳本

    這篇文章主要為大家詳細介紹了Python自動查詢12306余票并發(fā)送郵箱提醒腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論

公安县| 蓬溪县| 宁明县| 岳池县| 安西县| 龙岩市| 余干县| 滁州市| 米林县| 婺源县| 巧家县| 惠东县| 卓尼县| 乐业县| 屯昌县| 民权县| 丹寨县| 容城县| 清丰县| 温宿县| 青州市| 南充市| 海南省| 东兰县| 丹江口市| 五家渠市| 江都市| 三河市| 昆山市| 应用必备| 治多县| 兴和县| 德令哈市| 九龙城区| 平罗县| 临桂县| 高唐县| 永登县| 玉树县| 孟津县| 芜湖市|