python学习笔记--有道翻译爬虫

Posted Jacklovely

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记--有道翻译爬虫相关的知识,希望对你有一定的参考价值。

说明:

1. 导入三个模块,urllib.request.urlopen用来打开url链接,urllib.parse的urlencode方法将浏览器network里的data对象转为urlopen的第二个参数data,json.loads()方法把response.read返回的字符串转为json格式。

2. data对象是从审查元素的network里的translate?开头的Headers里最下面的formdata里的所有属性。

3. urlopen(url,data)里的data要先encode编码成utf-8,得到返回值后的result要再decode解码回utf-8。

 1 import urllib.request
 2 import urllib.parse
 3 import json
 4 
 5 userinput = ""
 6 while  userinput != "exit":
 7     userinput = input("输入要翻译的话(exit退出):")
 8     url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.baidu.com/link"
 9     data = {}
10     data["type"] = "AUTO"
11     data["i"] = userinput
12     data["doctype"] = "json"
13     data["xmlVersion"] = "1.8"
14     data["keyfrom"] = "fanyi.web"
15     data["ue"] = "UTF-8"
16     data["action"] = "FY_BY_CLICKBUTTON"
17     data["typoResult"] = "true"
18     data = urllib.parse.urlencode(data).encode("utf-8")
19     response = urllib.request.urlopen(url,data)
20     result = response.read().decode("utf-8")
21     result = json.loads(result)
22     result = result["translateResult"][0][0]["tgt"]
23     print(result)

 

以上是关于python学习笔记--有道翻译爬虫的主要内容,如果未能解决你的问题,请参考以下文章

Python3爬虫有道翻译

Python爬虫实战,破解有道翻译JS加密,制作桌面翻译工具更新版

Python3网络爬虫:利用urllib.urlopen向有道翻译发送数据获得翻译结果

Python爬虫|有道翻译(简易版)

python爬虫(10)身边的翻译专家——获取有道翻译结果

python3网络爬虫实现有道词典翻译功能