Python爬虫:Request Payload和Form Data的简单区别说明


Posted in Python onApril 30, 2020

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的简单区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用正则表达式实现文本替换的方法
Apr 18 Python
django 创建过滤器的实例详解
Aug 14 Python
Python爬取附近餐馆信息代码示例
Dec 09 Python
python+opencv识别图片中的圆形
Mar 25 Python
Python 互换字典的键值对实例
Feb 12 Python
python实现飞机大战游戏
Oct 26 Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 Python
python for循环remove同一个list过程解析
Aug 14 Python
python ubplot使用方法解析
Jan 10 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
Python中的 Set 与 dict
Mar 13 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 #Python
python针对Oracle常见查询操作实例分析
Apr 30 #Python
python实现Oracle查询分组的方法示例
Apr 30 #Python
Pytorch数据拼接与拆分操作实现图解
Apr 30 #Python
如何安装并在pycharm使用selenium的方法
Apr 30 #Python
Python基于进程池实现多进程过程解析
Apr 30 #Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 #Python
You might like
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
php 文章调用类代码
2011/08/11 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
微信小程序 中wx.chooseAddress(OBJECT)实例详解
2017/03/31 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Python分支结构(switch)操作简介
2018/01/17 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
Python ORM编程基础示例
2020/02/02 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
十佳大学生事迹材料
2014/01/29 职场文书
志愿者活动总结范文
2014/04/26 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
党员个人总结自评
2015/02/14 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
老公出轨后的保证书
2015/05/08 职场文书
物业保洁员管理制度
2015/08/05 职场文书
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏