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两种遍历字典(dict)的方法比较
May 29 Python
跟老齐学Python之不要红头文件(1)
Sep 28 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
python实现QQ空间自动点赞功能
Apr 09 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
Django中modelform组件实例用法总结
Feb 10 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
改变 Python 中线程执行顺序的方法
Sep 24 Python
python如何控制进程或者线程的个数
Oct 16 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
详解Python中下划线的5种含义
Jul 15 Python
OpenCV图像变换之傅里叶变换的一些应用
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中Ctype函数用法详解
2014/12/09 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
nodejs中函数的调用实例详解
2018/10/31 NodeJs
vue总线机制(bus)知识点详解
2020/05/10 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
python网络编程学习笔记(四):域名系统
2014/06/09 Python
python判断字符串是否纯数字的方法
2014/11/19 Python
Python中标准模块importlib详解
2017/04/16 Python
Python操作csv文件实例详解
2017/07/31 Python
python3爬虫怎样构建请求header
2018/12/23 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
Python中logging日志库实例详解
2020/02/19 Python
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
个性大学生自我评价
2013/12/04 职场文书
便利店投资创业计划书
2014/02/08 职场文书
公司仓库管理制度
2015/08/04 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
yolov5返回坐标的方法实例
2022/03/17 Python
python热力图实现的完整实例
2022/06/25 Python