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获取android设备的GPS信息脚本分享
Mar 06 Python
python实现简单的socket server实例
Apr 29 Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
Python编程实现的简单神经网络算法示例
Jan 26 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
Python 实现微信防撤回功能
Apr 29 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
Jul 03 Python
Django Aggregation聚合使用方法解析
Aug 01 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
Apr 15 Python
Python实现播放和录制声音的功能
Aug 12 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
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php处理斐波那契数列非递归方法
2012/02/04 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
php并发加锁示例
2016/10/17 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
python urllib爬取百度云连接的实例代码
2017/06/19 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
Python类如何定义私有变量
2020/02/03 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
Python基于execjs运行js过程解析
2020/11/27 Python
Python self用法详解
2020/11/28 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
采购文员岗位职责
2013/11/20 职场文书
家长评语和期望
2014/02/10 职场文书
临床医师个人自我评价
2014/04/06 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
2015年国培研修感言
2015/08/01 职场文书