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中利用Future对象异步返回结果示例代码
Sep 07 Python
python opencv之分水岭算法示例
Feb 24 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Django model select的多种用法详解
Jul 16 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
基于python-pptx库中文文档及使用详解
Feb 14 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
Python实现自动整理文件的脚本
Dec 17 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
花卉与景观设计系大学生求职信
2013/10/01 职场文书
调解员先进事迹材料
2014/02/07 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
父母教会我观后感
2015/06/17 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
Python数据分析之pandas读取数据
2021/06/02 Python
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技
Golang bufio详细讲解
2022/04/21 Golang