中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python爬蟲:Request Payload和Form Data有什么區別

發布時間:2020-07-29 11:04:28 來源:億速云 閱讀:411 作者:小豬 欄目:開發技術

小編這次要給大家分享的是Python爬蟲:Request Payload和Form Data有什么區別,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

Request Payload 和 Form Data 請求頭上的參數差別在于:

Content-Type
Form Data

Post表單請求

代碼示例

headers = {
 "Content-Type": "application/x-www-form-urlencoded"
}
requests.post(url, data=data, headers=headers)
Request Payload

傳遞json數據

headers = {
 "Content-Type": "application/json"
}
requests.post(url, data=json.dumps(data), headers=headers)

Scrapy 的FormRequest只支持 Form Data 表單提交,源碼固定為前者

補充知識:如何傳遞Request PayLoad(請求負載)中的數據?

在做爬蟲的時候,在分析請求的過程,遇到參數長這樣的:

原理不太清楚,等搞明白再來補充。這里只記錄如何應用這些數據。

用法:

根據上面的圖片,由于是post請求,參數一般是以key-value的json字符串傳遞,或者將參數放入map傳遞。我們可以看到很多name,這個name就是key,下面的數據就是value,我們可以提取所有的key及value,組成一個json字符串或者map傳遞即可。

比如上面的數據可以提取如下:

{"view:id1:txtSearch":"","$$viewid":"!f9fpyhcv2t!","$$xspsubmitid":"view:_id1:_id2:pager1_Group_lnk_2","$$xspexecid":"view:_id1:_id2:parent","$$xspsubmitvalue":"","$$xspsubmitscroll":"0|0","view:_id1":"view:_id1"}

或者:

 Map<String,String> m = new HashMap<String,String>();
 m.put("view:id1:txtSearch", "");
 m.put("$$viewid", "!f9fpyhcv2t!");
 m.put("$$xspsubmitid", "view:_id1:_id2:pager1_Group_lnk_2");
 m.put("$$xspexecid", "view:_id1:_id2:parent");
 m.put("$$xspsubmitvalue", "");
 m.put("$$xspsubmitscroll", "0|0");
 m.put("view:_id1", "view:_id1");

由于我是用Jsoup來發請求的,所以我這樣傳參數即可:

Jsoup.connect("").data(m).cookies(null).method(Method.POST);

或者:

Connection conn = Jsoup.connect("");
String requestJson = "{\"view:id1:txtSearch\":\"\",\"$$viewid\":\"!f9fpyhcv2t!\",\"$$xspsubmitid\":\"view:_id1:_id2:pager1_Group_lnk_2\",\"$$xspexecid\":\"view:_id1:_id2:parent\",\"$$xspsubmitvalue\":\"\",\"$$xspsubmitscroll\":\"0|0\",\"view:_id1\":\"view:_id1\"}";
conn.requestBody(requestJson);
conn.cookies(null).method(Method.POST);
conn.execute();

具體參數具體情況填啦。

是不是超簡單。

注意一點,請求負載中的value值不一定是固定值,若每次請求都會發生變化,那么就需要分析這個變化的值從哪里來,動態獲取這個值,然后發送請求才能正確。

看完這篇關于Python爬蟲:Request Payload和Form Data有什么區別的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨山| 丘北县| 沙田区| 商丘市| 仁怀市| 洛扎县| 无锡市| 集安市| 奉贤区| 临湘市| 莒南县| 枞阳县| 石柱| 修武县| 芮城县| 广南县| 望江县| 梅州市| 丹凤县| 肥乡县| 会昌县| 扎兰屯市| 方正县| 鄂伦春自治旗| 玛曲县| 厦门市| 宜阳县| 郸城县| 云霄县| 双城市| 疏附县| 仙桃市| 永春县| 万荣县| 色达县| 茂名市| 鄂托克旗| 绥滨县| 隆昌县| 武义县| 高清|