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实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
Python设计模式之中介模式简单示例
Jan 09 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
Jan 20 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
Python实现的简单读写csv文件操作示例
Jul 12 Python
python+selenium实现自动抢票功能实例代码
Nov 23 Python
python实现浪漫的烟花秀
Jan 30 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
8种常用的Python工具
Aug 05 Python
Python用Jira库来操作Jira
Dec 28 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 中英文语言转换类代码
2011/08/11 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
js实现选项卡效果
2020/03/07 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
python脚本监控docker容器
2016/04/27 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
详解Python多线程下的list
2020/07/03 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
土木工程应届生自荐信
2013/09/24 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
协议书格式模板
2016/03/24 职场文书