Python3 爬虫,翻译器

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

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

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

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


发现了吗,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)


运行结果:





版权声明:本文为Tony_Stark_Wang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Tony_Stark_Wang/article/details/79749769