欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python3 爬虫,翻译器

程序员文章站 2022-05-29 21:07:01
...

今天学习爬虫,搜到了大神的博客,看大神写的或取到有道翻译的结果挺好的,于是我想着实现一个翻译器,就是在编辑器里面输入待翻译的内容,然后获取到翻译结果以后再编译器里面显示(好啰嗦啊。。。。)

代码都是大神博客里的。我用的是pycharm。

大神的博客地址: Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果

作为一个爬虫小白,我原以为需要自己伪造请求发给有道,然后抓取翻译结果,试了老半天不成功,后来发现根本不用伪造发请求啊。。。。

Python3 爬虫,翻译器

发现了吗,i 的值已经是你要翻译的东西了,不需要自己伪造请求了,因为:

response=request.urlopen(Request_url,data) #传递Request对象和转换完格式的数据
他自己会传递request对象。所以,只需要赋值给i一个变量就可以了,中英文都可以的

好了,废话不多说了,上代码:

from urllib import request
from urllib import parse
import json
keyy = input('请输入要翻译的文字:')  #获取用户输入的值
Request_url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' # 对应的url
Form_Data={}
#Form_Data['i']='Whatever is worth doing is worth doing well'
Form_Data['i']=keyy  #此处只需要给i一个用户输入的变量即可
Form_Data['from']='AUTO'
Form_Data['to']='AUTO'
Form_Data['smartresult']='dict'
Form_Data['client']='fanyideskweb'
Form_Data['salt']='1522326658623'
Form_Data['sign']='66509c899e068e1fb2b997220ee57cc5'
Form_Data['doctype']='json'
Form_Data['version']='2.1'
Form_Data['keyfrom']='fanyi.web'
Form_Data['action']='FY_BY_REALTIME'
Form_Data['typoResult']='false'
data = parse.urlencode(Form_Data).encode('utf-8') #使用urlencode方法转换标准格式
response=request.urlopen(Request_url,data) #传递Request对象和转换完格式的数据
html = response.read().decode('utf-8')
translate_results = json.loads(html)
s_r=translate_results['translateResult'][0][0]['src']
t_r=translate_results['translateResult'][0][0]['tgt']
#print(translate_results)
#print(s_r)
print(t_r)


运行结果:

Python3 爬虫,翻译器

Python3 爬虫,翻译器