作为进阶的最后一篇,我们就讲个有意思点的案例吧——百度翻译。
正如上一篇:《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爬虫实战篇》吧。
为我心爱的女孩~~