python利用有道翻译实现"语言翻译器"的功能实例
作者:翌逍 时间:2021-08-21 02:47:38
实例如下:
import urllib.request
import urllib.parse
import json
while True:
content = input('请输入需要翻译的内容(退出输入Q):')
if content == 'Q':
break
else:
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/'
data = {}
data['type'] = 'AUTO'
data['i'] = content
data['doctype'] = 'json'
data['xmlVersion'] = '1.8'
data['keyfrom'] = 'fanyi.web'
data['ue'] = 'UTF-8'
data['action'] = 'FY_BY_CLICKBUTTON'
data['typoResult'] = 'true'
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url, data)
html = response.read().decode('utf-8')
target = json.loads(html)
print('翻译的结果:%s' % target['translateResult'][0][0]['tgt'])
程序执行情况:
这里要注意的是两个函数urllib.request.urlopen()与urllib.parse.urlencode()。
urllib.request.urlopen()其实不止一个参数,有好几个哦,其中第二个是data,data应该是一个buffer的标准应用程序/ x-www-form-urlencoded格式(python标准库原文:data should be a buffer in the standard application/x-www-form-urlencoded format)。urllib.parse.urlencode()函数接受一个映射或序列集合,并返回一个字符串的格式(python标准库原文:The urllib.parse.urlencode() function takes a mapping or sequence of 2-tuples and returns a string in this format)。我们可以看看urllib.parse.urlencode()的结果是什么样的:
上图的结果刚好与urllib.request.urlopen()的data参数的数据类型要求一致了。
注意,上面urlopen当中的url,这个是分析有道翻译页面的真实的Request URL:
来源:https://www.cnblogs.com/paomaliuju/p/5172268.html
标签:python,翻译器,有道翻译
0
投稿
猜你喜欢
Python面向对象思想与应用入门教程【类与对象】
2022-05-18 23:19:06
js实现单机双人象棋设计分析
2008-05-20 12:57:00
python实现马丁策略回测3000只股票的实例代码
2023-03-02 01:12:29
python实现下载指定网址所有图片的方法
2021-05-17 22:12:16
Python处理时间日期坐标轴过程详解
2021-04-28 08:05:27
pandas中.loc和.iloc以及.at和.iat的区别说明
2022-04-28 01:17:47
gRPC超时拦截器实现示例
2024-04-27 15:30:54
SQL SERVER 2014 安装图解教程(含SQL SERVER 2014下载)
2024-01-16 05:16:07
Python实现从多表格中随机抽取数据
2022-07-01 01:58:18
Bootstrap组合上、下拉框简单实现代码
2024-04-10 11:03:05
JS实现判断有效的数独算法示例
2024-02-25 08:22:15
Python装饰器简单用法实例小结
2022-01-18 22:19:40
python+jinja2实现接口数据批量生成工具
2022-04-30 14:00:20
ASP常用函数:IsBlank()
2008-09-28 13:21:00
产品交互原型设计工具分享
2010-03-24 18:06:00
Golang的性能优化和调试技巧
2024-04-25 15:30:24
详解git reset 加不加 --hard的区别
2022-04-03 06:45:13
MSSQL基本语法及实例操作语句
2024-01-28 06:45:16
Python实现PS滤镜Fish lens图像扭曲效果示例
2022-02-01 05:25:02
ASP CacheControl 属性
2009-04-28 13:09:00