Python 20行简单实现有道在线翻译的详解

yipeiwu_com6年前Python基础

简介

主要是尝试简单的使用pyhton的爬虫功能,于是使用有道进行尝试,并没有进行深入的诸如相关api的调用。

以下是需要的POST数据

代码

以下是相关部分的代码:

import urllib.request
import urllib.parse
import json

content=input('需要翻译的内容:')
#翻译内容

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=http://fanyi.youdao.com/'
#有道翻译查询入口
data = {  #表单数据
   'i': content,
   'from': 'AUTO',
   'to': 'AUTO',
   'smartresult': 'dict',
   'client': 'fanyideskweb',
   'doctype': 'json',
   'version': '2.1',
   'keyfrom': 'fanyi.web',
   'action': 'FY_BY_CLICKBUTTION',
   'typoResult': 'false'
  }

data=urllib.parse.urlencode(data).encode('utf-8')
#对POST数据进行编码

response=urllib.request.urlopen(url,data)
#发出POST请求并获取HTTP响应

html=response.read().decode('utf-8')
#获取网页内容,并进行解码解码

target=json.loads(html)
#json解析

print("\n翻译结果:%s"%target['translateResult'][0][0]['tgt'])
#输出翻译结果

重要函数

urllib.request.urlopen()——发送POST数据,同时返回响应

urllib.parse.urlencode()——对POST数据进行编码转换

json.loads()——进行json解析

以上所述是小编给大家介绍的Python实现有道在线翻译的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

详谈Pandas中iloc和loc以及ix的区别

Pandas库中有iloc和loc以及ix可以用来索引数据,抽取数据。但是方法一多也容易造成混淆。下面将一一来结合代码说清其中的区别。 1. iloc和loc的区别: iloc主要使用数...

使用python实现http及ftp服务进行数据传输的方法

服务器之间的http数据传输 直接使用python内置的http服务: python -m SimpleHTTPServer 8000 此时,输入指令的目录就已经开启了http服务...

python列表操作之extend和append的区别实例分析

本文实例讲述了python列表操作之extend和append的区别。分享给大家供大家参考。具体如下: li = ['a', 'b', 'c'] li.extend(['d', '...

Python参数解析模块sys、getopt、argparse使用与对比分析

Python参数解析模块sys、getopt、argparse使用与对比分析

一些命令行工具的使用能够大大简化代码脚本的维护成本,提升复用性,今天主要是借助于python提供的几种主流的参数解析工具来实现简单的功能,主要是学习实践为主,这是新年伊始开工的第一篇,还...

python实现五子棋游戏

python实现五子棋游戏

本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下 话不多说,直接上代码: 全部工程文件,在GitHub:五子棋 效果预览: #!/usr/bin/...