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

 更新时间:2019年08月20日 11:17:55   作者:minger_lcm  
这篇文章主要介绍了python爬虫 urllib模块发起post请求过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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转中文

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

相关文章

  • python实现朴素贝叶斯分类器

    python实现朴素贝叶斯分类器

    这篇文章主要为大家详细介绍了python实现朴素贝叶斯分类器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python 列表(List) 的三种遍历方法实例 详解

    Python 列表(List) 的三种遍历方法实例 详解

    这篇文章主要介绍了Python 列表(List) 的三种遍历方法实例 详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • python如何批量读取.mat文件并保存成.npy

    python如何批量读取.mat文件并保存成.npy

    这篇文章主要介绍了python如何批量读取.mat文件并保存成.npy问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python获取江苏疫情实时数据及爬虫分析

    Python获取江苏疫情实时数据及爬虫分析

    为了关注疫情状况,今天我们用python来爬一爬疫情的实时数据,本文通过实例图文相结合给大家介绍的非常详细,需要的朋友参考下吧
    2021-08-08
  • 使用Python实现简单的爬虫框架

    使用Python实现简单的爬虫框架

    爬虫是一种自动获取网页内容的程序,它可以帮助我们从网络上快速收集大量信息。下面我们将学习如何使用 Python 编写一个简单的爬虫框架,感兴趣的可以了解一下
    2023-05-05
  • Pyhton模块和包相关知识总结

    Pyhton模块和包相关知识总结

    文中详细整理了关于Python模块和包的相关知识点,刚入门Python的小伙伴们可以学习一下,有助于加深Python基础的理解.而且有详细说明及代码示例,需要的朋友可以参考下
    2021-05-05
  • Python3.6.0+opencv3.3.0人脸检测示例

    Python3.6.0+opencv3.3.0人脸检测示例

    这篇文章主要为大家详细介绍了Python3.6.0+opencv3.3.0人脸检测示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • python通过pil模块获得图片exif信息的方法

    python通过pil模块获得图片exif信息的方法

    这篇文章主要介绍了python通过pil模块获得图片exif信息的方法,实例分析了Python中pil模块的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • 如何利用pygame实现打飞机小游戏

    如何利用pygame实现打飞机小游戏

    pygame是python的一个做游戏的库,非常适合做游戏开发,这篇文章主要给大家介绍了关于如何利用pygame实现打飞机小游戏的相关资料,需要的朋友可以参考下
    2021-05-05
  • 联邦学习神经网络FedAvg算法实现

    联邦学习神经网络FedAvg算法实现

    这篇文章主要为大家介绍了联邦学习神经网络FedAvg算法实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论