python爬虫 urllib模块发起post请求过程解析
作者:minger_lcm 时间:2022-02-07 22:52:53
urllib模块发起的POST请求
案例:爬取百度翻译的翻译结果
1.通过浏览器捉包工具,找到POST请求的url
针对ajax页面请求的所对应url获取,需要用到浏览器的捉包工具。查看百度翻译针对某个字条发送ajax请求,所对应的url
点击clear按钮可以把抓包工具,所抓到请求清空
然后填上翻译字条发送ajax请求,红色框住的都是发送的ajax请求
抓包工具All按钮代表 显示抓到的所有请求 ,包括GET、POST请求 、基于ajax的POST请求
XHR代表 只显示抓到的基于ajax的POST请求
哪个才是我们所要的基于ajax的POST请求,这个POST请求是携带翻译字条的苹果请求参数
再看看这个POST请求 对应的请求URL ,这个URL是我们要请求的URL
发起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转中文
来源:https://www.cnblogs.com/mingerlcm/p/11369444.html
标签:python,爬虫,urllib,模块,post,请求
0
投稿
猜你喜欢
最近Python有点火? 给你7个学习它的理由!
2021-08-03 01:40:05
设计评论表单[译]
2009-03-25 20:41:00
pytorch教程之网络的构建流程笔记
2021-11-24 10:58:59
Python中多线程的创建及基本调用方法
2021-12-14 00:26:26
Vue cli构建及项目打包以及出现的问题解决
2023-07-02 16:46:46
python实现五子棋小程序
2023-12-04 20:49:37
Python模块zipfile原理及使用方法详解
2022-03-24 10:33:37
Mysql带And关键字的多条件查询语句
2024-01-14 08:41:17
C#连接Oracle数据库的实例方法
2024-01-20 14:37:05
Python多线程下载文件的方法
2021-12-26 05:21:32
python 实现多维数组(array)排序
2022-03-26 07:35:48
一篇文章带你学习Python3的高阶函数
2021-04-24 00:58:51
sqlserver bcp(数据导入导出工具)一般用法与命令详解
2024-01-27 03:12:08
ThinkPHP开发框架函数详解:C方法
2023-10-18 03:27:04
Python实现识别手写数字大纲
2022-06-28 05:19:13
Python区块链创建Genesis Block教程
2022-04-17 10:44:15
利用Python分析一下最近的股票市场
2023-06-14 23:46:03
python 解析XML python模块xml.dom解析xml实例代码
2022-11-24 15:15:09
python使用pil生成缩略图的方法
2022-06-07 13:07:44
在python中使用正则表达式查找可嵌套字符串组
2021-10-07 07:02:06