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 功能和特点(新手必学)
Dec 30 Python
Python批量修改文本文件内容的方法
Apr 29 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
详解python3实现的web端json通信协议
Dec 29 Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 Python
Python 查看文件的编码格式方法
Dec 21 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
pandas通过loc生成新的列方法
Nov 28 Python
Opencv实现抠图背景图替换功能
May 21 Python
基于Python的ModbusTCP客户端实现详解
Jul 13 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 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
第十四节 命名空间 [14]
2006/10/09 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
PHP获取MAC地址的具体实例
2013/12/13 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
javascript中常用编程知识
2013/04/08 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
Node.js事件驱动
2015/06/18 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python计算回文数的方法
2015/03/11 Python
python获取服务器响应cookie的实例
2018/12/28 Python
python画图常规设置方式
2020/03/05 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
心得体会范文
2014/01/04 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android