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

解讀Scrapy回調(diào)函數(shù)callback傳遞參數(shù)的方式

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

Scrapy回調(diào)函數(shù)

回調(diào)方法示例:

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對應(yīng)的是page_query_school()即為回調(diào)的方法。

傳遞參數(shù)方式

如何向回調(diào)方法中傳遞參數(shù)呢?

在scrapy1.7之后,是基于cb_kwargs方式傳遞dict類型,可以在回調(diào)方式中直接訪問對應(yīng)的參數(shù)值。

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值直接以參數(shù)傳入方法: 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是指向相同的結(jié)果值,造成變量的引用有誤,與預(yù)期不符。

正確的做法:cb_kwargs傳遞直接變量屬性值,不要使用復(fù)雜的數(shù)據(jù)結(jié)構(gòu),可以做到不同的屬性值

總結(jié)

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

相關(guān)文章

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

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

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

    DRF?QuerySet?Instance數(shù)據(jù)庫操作功能概述

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

    pandas如何讀取含有中文的excel

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

    詳解tensorflow實現(xiàn)遷移學(xué)習(xí)實例

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

    基于OpenCV的攝像頭測距的實現(xiàn)示例

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

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

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

    pandas去除重復(fù)列的實現(xiàn)方法

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

    詳解pandas映射與數(shù)據(jù)轉(zhuǎn)換

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

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

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

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

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

最新評論

同江市| 青冈县| 绍兴县| 通辽市| 祁阳县| 辽中县| 进贤县| 睢宁县| 青川县| 资兴市| 博客| 西盟| 泰来县| 凭祥市| 昆山市| 张家川| 延安市| 定安县| 界首市| 囊谦县| 汉寿县| 淅川县| 景泰县| 平远县| 石嘴山市| 桑日县| 鲁山县| 河东区| 增城市| 扎鲁特旗| 县级市| 乌拉特后旗| 张家川| 滁州市| 大新县| 临夏市| 南通市| 海伦市| 安达市| 天镇县| 偏关县|