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 strip()函数 介绍
May 24 Python
Python3里的super()和__class__使用介绍
Apr 23 Python
python基础教程之匿名函数lambda
Jan 17 Python
Python可变参数用法实例分析
Apr 02 Python
对Python发送带header的http请求方法详解
Jan 02 Python
opencv python统计及绘制直方图的方法
Jan 21 Python
Django框架orM与自定义SQL语句混合事务控制操作
Jun 27 Python
Python csv文件的读写操作实例详解
Nov 19 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
python代码实现图书管理系统
Nov 30 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 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
基于文本的访客签到簿
2006/10/09 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
jquery 实现两级导航菜单附效果图
2014/03/07 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
nodejs简单实现操作arduino
2016/09/25 NodeJs
详解Vue.js动态绑定class
2016/12/20 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
详解python中的json和字典dict
2018/06/22 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
详解python读取和输出到txt
2019/03/29 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
Python项目打包成二进制的方法
2020/12/30 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
五一家具促销方案
2014/01/10 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
出国留学计划书
2014/04/27 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
水电工程师岗位职责
2015/02/13 职场文书
护理工作心得体会
2016/01/22 职场文书
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android