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采用socket模拟TCP通讯的实现方法
Nov 19 Python
Python简单进程锁代码实例
Apr 27 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
python2和python3在处理字符串上的区别详解
May 29 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
python实现京东订单推送到测试环境,提供便利操作示例
Aug 09 Python
python lambda表达式在sort函数中的使用详解
Aug 28 Python
python线程安全及多进程多线程实现方法详解
Sep 27 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
python爬取youtube视频的示例代码
Mar 03 Python
Python Socket编程详解
Apr 25 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 array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
清除输入框内的空格
2016/12/21 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
Python中协程用法代码详解
2018/02/10 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
python数据化运营的重要意义
2019/11/25 Python
Python装饰器用法与知识点小结
2020/03/09 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
python高级特性简介
2020/08/13 Python
英语简历自我评价
2014/01/26 职场文书
音乐教学案例
2014/01/30 职场文书
股权投资意向书
2014/04/01 职场文书
文明工地标语
2014/06/16 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
python图像处理 PIL Image操作实例
2022/04/09 Python
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android