#!/usr/bin/env python
# -*- coding:utf-8 -*- 爬虫程序
import urllib.request#导入 网络连接模块
import urllib.parse #导入网络数据转换模块
import json
import time
def trans(content) :
#设置为有道翻译的翻译请求地址
url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=dict2.index"
head={}
#设置 用户头代理为人工访问 避免机器访问被网站过滤掉
head["User-Agent"]="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
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')
#定义用于传送的request对象
req=urllib.request.Request(url,data,head)
#执行网络请求
response = urllib.request.urlopen(req)
#把接收到的翻译结果 用utf-8反编译 得到一个json格式字符串
html = response.read().decode('utf-8')
#print(html)
#载入得到的json字符串
r= json.loads(html)
#print(r)
#print(r["translateResult"])
#输出其中翻译的结果字段
print("翻译结果:%s" %r['translateResult'][0][0]["tgt"])
while True:
content= input("请输入需要翻译的文本!
(退出请输入quit)
")
if content != "" and content!="quit":
trans(content)
time.sleep(5)#设置5秒休眠 防止访问网站过快 被过滤掉
elif content=="" :
pass
else:
print("goodby!")