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

yipeiwu_com5年前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设计】网站的支持!

相关文章

在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法

PyQt5: 程序入口添加 QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) Qt5:...

Python标准异常和异常处理详解

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。 1.异常处理: 本站Python教程会具体介绍。 2.断言(...

python实现守护进程、守护线程、守护非守护并行

守护进程 1、守护子进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError:...

OpenCV-Python 摄像头实时检测人脸代码实例

OpenCV-Python 摄像头实时检测人脸代码实例

参考 OpenCV摄像头使用 代码 import cv2 cap = cv2.VideoCapture(4) # 使用第5个摄像头(我的电脑插了5个摄像头) face_cascad...

举例讲解Python中的身份运算符的使用方法

举例讲解Python中的身份运算符的使用方法

Python身份运算符 身份运算符用于比较两个对象的存储单元 以下实例演示了Python所有身份运算符的操作: #!/usr/bin/python a = 20 b = 20...