python爬虫模块_详解python爬虫 urllib模块发起post请求

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

urllib模块发起的POST请求

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

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

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

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

15C924A122030-11Q7.jpg

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

15C924A122160-25248.jpg

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

XHR代表 只显示抓到的基于ajax的POST请求

15C924A1222Z-34Z8.jpg

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

15C924A1224Z-49B0.jpg

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

15C924A122F-55151.jpg

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

15C924A122920-B946.jpg

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

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中常用的爬虫模块包括time模块urllib模块。 time模块Python内置的时间处理模块,它提供了各种与时间相关的函数和方法,用于处理时间、延时等相关操作。通过time模块,我们可以获取当前时间、设置延时、格式化时间等。 urllib模块Python内置的HTTP请求库,它包含了多个模块,其中最常用的是request模块。request模块可以用来模拟发送HTTP请求,通过传入URL和其他参数,我们可以实现模拟请求的过程。另外,urllib模块还包括error模块、parse模块和robotparser模块。error模块用于处理请求异常,parse模块提供了URL处理的各种方法,而robotparser模块用于解析网站的robots.txt文件,用于判断哪些网站可以爬取。 对于Python 3中的urllib库的request模块,它提供了更多的功能和方法,包括发送GET请求、发送POST请求、添加请求头、处理响应等。使用urllib库的request模块可以方便地进行网页抓取和数据获取。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [爬虫基础(三)——python爬虫常用模块](https://blog.csdn.net/weixin_46310648/article/details/119211953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python-爬虫(基础概念、常见请求模块urllib、requests))](https://blog.csdn.net/dodamce/article/details/125966540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值