#!/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!")