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程序设计入门(4)模块和包
Jun 16 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
Aug 10 Python
详解Python中的元组与逻辑运算符
Oct 13 Python
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
python爬取微信公众号文章
Aug 31 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
python程序中的线程操作 concurrent模块使用详解
Sep 23 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
20行Python代码实现视频字符化功能
Apr 13 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
python跨文件使用全局变量的实现
Nov 17 Python
python 模块导入问题汇总
Feb 01 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
PHP 已经成熟
2006/12/04 PHP
php array_map()数组函数使用说明
2011/07/12 PHP
php 文本文件的读取效率
2012/02/10 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
xmlHTTP实例
2006/10/24 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
利用python画一颗心的方法示例
2017/01/31 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
详解python做UI界面的方法
2019/02/27 Python
详解Python传入参数的几种方法
2019/05/16 Python
Python读写文件基础知识点
2019/06/10 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
测控技术与仪器个人求职信范文
2013/12/30 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js