Python爬虫进阶——Request对象之post请求案例分析【百度翻译】

作为进阶的最后一篇,我们就讲个有意思点的案例吧——百度翻译。

一、分析URL接口

正如上一篇:《Python爬虫进阶——Get请求》讲到的:当我们进行爬虫开发的时候,首先要做的,就是分析URL接口。

打开百度翻译;

F12;

开发者工具中点击“暂停”和“清空”;

在这里插入图片描述

输入“python”,并选中如图的“sug”请求;

在这里插入图片描述

点击“Headers”,可以查看到图中圆圈中的信息;

在这里插入图片描述



二、代码实现 baidu_fanyi.py import urllib.request as ur import urllib.parse as up # 实例化data data = { \'kw\': \'python\' } # data编码 data_url = up.urlencode(data) request = ur.Request( url=\'https://fanyi.baidu.com/sug\', # 不仅仅url编码,还需encode转成字节 data=data_url.encode(\'utf-8\'), ) response = ur.urlopen(request).read() print(response) 输出如下:

在这里插入图片描述


注意:
输出结果为字节类型,为json对象,还需使用loads方法。

三、代码抽离和完善 import urllib.request as ur import urllib.parse as up import json word = input(\'请输入要翻译的英文:\') # 实例化data data = { \'kw\': word } # data编码 data_url = up.urlencode(data) request = ur.Request( url=\'https://fanyi.baidu.com/sug\', # 不仅仅url编码,还需encode转成字节 data=data_url.encode(\'utf-8\'), ) response = ur.urlopen(request).read() # print(response) ret = json.loads(response) # print(ret) translate = ret[\'data\'][0][\'v\'] print(translate) 输出如下:

在这里插入图片描述


OK啦~~
简直完美。
天色已晚,明天再写《Python爬虫实战篇》吧。


为我心爱的女孩~~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfypd.html