python爬虫 urllib模块发起post请求过程解析


Posted in Python onAugust 20, 2019

urllib模块发起的POST请求

案例:爬取百度翻译的翻译结果

1.通过浏览器捉包工具,找到POST请求的url

针对ajax页面请求的所对应url获取,需要用到浏览器的捉包工具。查看百度翻译针对某个字条发送ajax请求,所对应的url

点击clear按钮可以把抓包工具,所抓到请求清空

python爬虫 urllib模块发起post请求过程解析

然后填上翻译字条发送ajax请求,红色框住的都是发送的ajax请求

python爬虫 urllib模块发起post请求过程解析

抓包工具All按钮代表 显示抓到的所有请求 ,包括GET、POST请求 、基于ajax的POST请求
XHR代表 只显示抓到的基于ajax的POST请求

python爬虫 urllib模块发起post请求过程解析

哪个才是我们所要的基于ajax的POST请求,这个POST请求是携带翻译字条的苹果请求参数

python爬虫 urllib模块发起post请求过程解析

再看看这个POST请求 对应的请求URL ,这个URL是我们要请求的URL

python爬虫 urllib模块发起post请求过程解析

发起POST请求之前,要处理POST请求携带的参数 3步流程:

一、将POST请求封装到字典

二、使用parse模块中的urlencode(返回值类型是字符串类型)进行编码处理

三、将步骤二的编码结果转换成byte类型

import urllib.request
import urllib.parse
# 1.指定url
url = 'https://fanyi.baidu.com/sug'
# 发起POST请求之前,要处理POST请求携带的参数 流程:
# 一、将POST请求封装到字典
data = {
  # 将POST请求所有携带参数放到字典中
  'kw':'苹果',
}
# 二、使用parse模块中的urlencode(返回值类型是字符串类型)进行编码处理
data = urllib.parse.urlencode(data)

# 三、将步骤二的编码结果转换成byte类型
data = data.encode()

'''2. 发起POST请求:urlopen函数的data参数表示的就是经过处理之后的
POST请求携带的参数
'''
response = urllib.request.urlopen(url=url,data=data)

data = response.read()
print(data)

把拿到的翻译结果 去json在线格式校验(在线JSON校验格式化工具(Be JSON)),

点击格式化校验和unicode转中文

python爬虫 urllib模块发起post请求过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python让图片按照exif信息里的创建时间进行排序的方法
Mar 16 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
在python中使用with打开多个文件的方法
Jan 07 Python
Python面向对象程序设计示例小结
Jan 30 Python
Python字典中的值为列表或字典的构造实例
Dec 16 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
python中查看.db文件中表格的名字及表格中的字段操作
Jul 07 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 Python
pytorch 加载(.pth)格式的模型实例
Aug 20 #Python
python multiprocessing模块用法及原理介绍
Aug 20 #Python
python 并发编程 阻塞IO模型原理解析
Aug 20 #Python
PyTorch中常用的激活函数的方法示例
Aug 20 #Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 #Python
python批量解压zip文件的方法
Aug 20 #Python
pytorch获取vgg16-feature层输出的例子
Aug 20 #Python
You might like
php上传文件的增强函数
2010/07/21 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
jquery iframe操作详细解析
2013/11/20 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
Python读写Excel文件的实例
2013/11/01 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
Python中一般处理中文的几种方法
2019/03/06 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
python Kmeans算法原理深入解析
2019/08/23 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
关于保护环境的建议书
2014/08/26 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
Python图像处理之图像拼接
2021/04/28 Python
Python源码解析之List
2021/05/21 Python
nginx服务器的下载安装与使用详解
2021/08/02 Servers