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写的贪吃蛇游戏例子
Jun 16 Python
Python二维码生成库qrcode安装和使用示例
Dec 16 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
python程序控制NAO机器人行走
Apr 29 Python
Python Pandas数据结构简单介绍
Jul 03 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
浅谈pytorch池化maxpool2D注意事项
Feb 18 Python
pycharm 实现本地写代码,服务器运行的操作
Jun 08 Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 Python
python3 sqlite3限制条件查询的操作
Apr 07 Python
python学习之panda数据分析核心支持库
May 07 Python
python生成可执行exe控制Microsip自动填写号码并拨打功能
Jun 21 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 flush类输出缓冲剖析
2008/10/19 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
js静态作用域的功能。
2006/12/25 Javascript
插件:检测javascript的内存泄漏
2007/03/04 Javascript
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
职高毕业生自我鉴定
2013/10/21 职场文书
函授自我鉴定
2013/11/06 职场文书
总裁秘书岗位职责
2013/12/04 职场文书
大学军训感言400字
2014/03/11 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
留学推荐信范文
2014/05/10 职场文书
资料员岗位职责范本
2015/04/13 职场文书
聘任合同书
2015/09/21 职场文书
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript