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实现指定字符串补全空格的方法
Apr 30 Python
Python如何获取系统iops示例代码
Sep 06 Python
详解python之简单主机批量管理工具
Jan 27 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
对python中array.sum(axis=?)的用法介绍
Jun 28 Python
对python 自定义协议的方法详解
Feb 13 Python
Python中拆分字符串的操作方法
Jul 23 Python
Python中的延迟绑定原理详解
Oct 11 Python
wxPython多个窗口的基本结构
Nov 19 Python
python和c语言哪个更适合初学者
Jun 22 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
Nov 02 Python
Python中requests库的用法详解
Jun 05 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实现的文件操作类及文件下载功能示例
2016/12/24 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
vue+canvas实现移动端手写签名
2020/05/21 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
python中_del_还原数据的方法
2020/12/09 Python
Pycharm plot独立窗口显示的操作
2020/12/11 Python
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
销售副总经理岗位职责
2013/12/11 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
产品推广策划方案
2014/05/10 职场文书
企业安全标语
2014/06/07 职场文书
国企干部对照检查材料
2014/08/22 职场文书
庆六一宣传标语
2014/10/08 职场文书
承诺函范文
2015/01/21 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
汽车销售合同文本
2019/08/08 职场文书
详解nginx进程锁的实现
2021/06/14 Servers
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL