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 SQLite3数据库操作类分享
Jun 10 Python
python协程用法实例分析
Jun 04 Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
python实现简单聊天应用 python群聊和点对点均实现
Sep 14 Python
python 上下文管理器使用方法小结
Oct 10 Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 Python
python将数组n等分的实例
Dec 02 Python
Django实现celery定时任务过程解析
Apr 21 Python
Python定义一个函数的方法
Jun 15 Python
python 安装移动复制第三方库操作
Jul 13 Python
Python类方法总结讲解
Jul 26 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实现CSV文件导入和导出
2015/10/24 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
php session 写入数据库
2016/02/13 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Python生成随机数组的方法小结
2017/04/15 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
详解python中的json和字典dict
2018/06/22 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
Python telnet登陆功能实现代码
2020/04/16 Python
python实现控制台输出颜色
2021/03/02 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
英国网上电器商店:Electricshop
2020/03/15 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
餐饮业创业计划书范文
2014/01/06 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
工作犯错保证书
2015/05/11 职场文书
导游词之无锡东林书院
2019/12/11 职场文书