admin管理员组

文章数量:1532440

下面通过在网页中审查元素查看有道翻译过程的源代码,分析利用http请求进行汉语翻译成英语

# -*- coding: utf-8 -*-

# @Author: Clarence

# @Date: 2017-11-16 23:58:14

# @Last Modified by: Clarence

# @Last Modified time: 2017-11-18 23:57:08

""""通过观察有道词典翻译的过程,利用Python发出翻译请求,得到翻译的结果"""

import urllib.request

import urllib.parse

import json

content = input("请输入需要翻译的内容:")

url = "https://fanyi.youdao/translate_o?smartresult=dict&smartresult=rule&sessionFrom="

data = {}

data["i"] = content

data["from"] = "AUTO"

data["to"] = "AUTO"

data["smartresult"] = "dict"

data["client"] = "fanyideskweb"

data["salt"] = "1510847530656"

data["sign"] = "37297484cddac42f50e6d27e92616330"

data["doctype"] = "json"

data["version"] = "2.1"

data["keyfrom"] = "fanyi.web"

data["action"] = "FY_BY_CLICKBUTTION"

data["typoResult"] = False

data = urllib.parse.urlencode(data).encode("utf-8") #将一种编码转换成utf-8格式

response = urllib.request.urlopen(url ,data) # 发出请求,得到相应

html = response.read().decode("utf-8") #将utf-8解码成unicode编码 read()方法返回一个utf-8编码的一个文件

print(html)

# html是一个json格式的字符串

target = json.loads(html) #将json格式的字符串载入,得到的是一个字典 使用访问字典中的键就可以得到翻译后的结果

print("翻译的结果: %s" %(target["translateResult"][0][0]["tgt"]))

本文标签: 程序代码英译汉汉译英Python