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函数缺省值与引用学习笔记分享
Feb 10 Python
Python使用稀疏矩阵节省内存实例
Jun 27 Python
python使用webbrowser浏览指定url的方法
Apr 04 Python
构建Python包的五个简单准则简介
Jun 15 Python
Python中数字以及算数运算符的相关使用
Oct 12 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
python实现微信远程控制电脑
Feb 22 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
django框架ModelForm组件用法详解
Dec 11 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
python下载卫星云图合成gif的方法示例
Feb 18 Python
Pytorch 中net.train 和 net.eval的使用说明
May 22 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页面防重复提交方法总结
2013/11/25 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
PHP7 新增常量
2021/03/09 PHP
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python版飞机大战代码分享
2018/11/20 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
对Python _取log的几种方式小结
2019/07/25 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
土木工程师岗位职责
2013/11/24 职场文书
3分钟演讲稿
2014/04/30 职场文书
五分钟演讲稿
2014/04/30 职场文书
金融与证券专业求职信
2014/06/22 职场文书
签订劳动合同通知书
2015/04/16 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python