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中的tuple元组详细介绍
Feb 02 Python
解读Python编程中的命名空间与作用域
Oct 16 Python
Python 性能优化技巧总结
Nov 01 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
Jan 20 Python
Python Flask基础教程示例代码
Feb 07 Python
python 判断网络连通的实现方法
Apr 22 Python
使用python3实现操作串口详解
Jan 01 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
May 11 Python
python process模块的使用简介
May 14 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 21 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连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
让你的网站可编辑的实现js代码
2009/10/19 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
Python实现快速排序的方法详解
2019/10/25 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
创业融资计划书
2014/04/25 职场文书
小时代观后感
2015/06/10 职场文书
工伤调解协议书
2016/03/21 职场文书
我收到了德劲DE1107
2022/04/05 无线电