python利用有道翻译实现"语言翻译器"的功能实例


Posted in Python onNovember 14, 2017

实例如下:

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'])

程序执行情况:

python利用有道翻译实现"语言翻译器"的功能实例

这里要注意的是两个函数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()的结果是什么样的:

python利用有道翻译实现"语言翻译器"的功能实例

上图的结果刚好与urllib.request.urlopen()的data参数的数据类型要求一致了。

注意,上面urlopen当中的url,这个是分析有道翻译页面的真实的Request URL:

python利用有道翻译实现"语言翻译器"的功能实例

python利用有道翻译实现"语言翻译器"的功能实例

以上这篇python利用有道翻译实现"语言翻译器"的功能实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
Python2随机数列生成器简单实例
Sep 04 Python
基于Python实现的微信好友数据分析
Feb 26 Python
python web基础之加载静态文件实例
Mar 20 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
Python基于FTP模块实现ftp文件上传操作示例
Apr 23 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
django框架model orM使用字典作为参数,保存数据的方法分析
Jun 24 Python
在Django中实现添加user到group并查看
Nov 18 Python
Python pip使用超时问题解决方案
Aug 03 Python
PyCharm 解决找不到新打开项目的窗口问题
Jan 15 Python
Python实现Hash算法
Mar 18 Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 #Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 #Python
Python中import机制详解
Nov 14 #Python
AI人工智能 Python实现人机对话
Nov 13 #Python
Python编程实现蚁群算法详解
Nov 13 #Python
Python编程实现粒子群算法(PSO)详解
Nov 13 #Python
人工智能最火编程语言 Python大战Java!
Nov 13 #Python
You might like
PHP+DBM的同学录程序(3)
2006/10/09 PHP
php预定义常量
2006/12/25 PHP
php fckeditor 调用的函数
2009/06/21 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
JavaScript类库D
2010/10/24 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
Python 用户登录验证的小例子
2013/03/06 Python
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
python实现网站的模拟登录
2016/01/04 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
django ajax json的实例代码
2018/05/29 Python
python爬虫用mongodb的理由
2020/07/28 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
美国最大网上鞋店:Zappos
2016/07/25 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
开放系统互连参考模型
2016/06/29 面试题
金融专业个人的自我评价
2013/10/18 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
读书之星事迹材料
2014/05/12 职场文书
合作与交流自我评价
2015/03/09 职场文书
创业计划书之网络外卖
2019/10/31 职场文书