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

一、分析URL接口

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

  1. 打开百度翻译;

  2. F12;

  3. 开发者工具中点击“暂停”和“清空”;
    在这里插入图片描述

  4. 输入“python”,并选中如图的“sug”请求;
    在这里插入图片描述

  5. 点击“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爬虫实战篇》吧。


为我心爱的女孩~~

版权声明:本文为WoLykos原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/WoLykos/archive/2004/01/13/12095204.html