python利用有道翻译实现"语言翻译器"的功能实例

 更新时间:2017年11月14日 09:15:54   作者:翌逍  
小编就为大家分享一篇python利用有道翻译实现"语言翻译器"的功能实例。具有比较好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

实例如下:

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'])

程序执行情况:

这里要注意的是两个函数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()的结果是什么样的:

上图的结果刚好与urllib.request.urlopen()的data参数的数据类型要求一致了。

注意,上面urlopen当中的url,这个是分析有道翻译页面的真实的Request URL:

以上这篇python利用有道翻译实现"语言翻译器"的功能实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python 实现两个线程交替执行

    python 实现两个线程交替执行

    这篇文章主要介绍了python 实现两个线程交替执行,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python中的 No Module named ***问题及解决

    Python中的 No Module named ***问题及解决

    这篇文章主要介绍了Python中的 No Module named ***问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python经典练习百题之猴子吃桃三种解法

    python经典练习百题之猴子吃桃三种解法

    这篇文章主要给大家介绍了关于python经典练习百题之猴子吃桃三种解法的相关资料, Python猴子吃桃子编程是一个趣味性十足的编程练习,在这个练习中,我们将要使用Python语言来模拟一只猴子吃桃子的过程,需要的朋友可以参考下
    2023-10-10
  • Python2中的raw_input() 与 input()

    Python2中的raw_input() 与 input()

    这篇文章主要介绍了Python2中的raw_input() 与 input(),本文分析了它们的内部实现和不同之处,并总结了什么情况下使用哪个函数,需要的朋友可以参考下
    2015-06-06
  • python爬虫之urllib3的使用示例

    python爬虫之urllib3的使用示例

    这篇文章主要介绍了 python爬虫之urllib3的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python代码过长的换行方法

    python代码过长的换行方法

    今天小编就为大家分享一篇python代码过长的换行方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python批量处理图片大小尺寸方法详解

    Python批量处理图片大小尺寸方法详解

    这篇文章主要介绍了用Python批量处理图片大小尺寸的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11
  • 浅谈Keras参数 input_shape、input_dim和input_length用法

    浅谈Keras参数 input_shape、input_dim和input_length用法

    这篇文章主要介绍了浅谈Keras参数 input_shape、input_dim和input_length用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python根据区号生成手机号码的方法

    Python根据区号生成手机号码的方法

    这篇文章主要介绍了Python根据区号生成手机号码的方法,涉及Python随机数与字符串的相关操作技巧,需要的朋友可以参考下
    2015-07-07
  • python-docx文件路径问题的解决方案

    python-docx文件路径问题的解决方案

    这篇文章主要介绍了python-docx文件路径问题的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论