这是连着上次的写的,不会怎么爬取的可以看看这个连接爬取有道翻译,但这个只能在python环境下使用,有时候我们不想在python环境下运行,想在任何windows平台下使用,要怎么做呢?其实很简单
import urllib.request
import json
import urllib.parse
import time
while True:
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
head = {'你的用户代理'}
content = input('请输入要翻译的内容:') #接收用户输入
if content == "q": #如果输入q并且回车则退出程序
break
form_Data = {}
form_Data['i'] = content
form_Data['from'] = 'AUTO'
form_Data['to'] = 'AUTO'
form_Data['smartresult'] = 'dict'
form_Data['client'] = 'fanyideskweb'
form_Data['doctype'] = 'json'
form_Data['version'] = '2.1'
form_Data['keyfrom'] = 'fanyi.web'
form_Data['action'] = 'FY_BY_REALTIME'
form_Data['typoResult'] = 'false'
data = urllib.parse.urlencode(form_Data).encode('utf-8')
req = urllib.request.Request(url, data, head)
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
result = json.loads(html)
print("翻译的结果是:%s" % (result['translateResult'][0][0]['tgt'])) #打印json数据中键对应的值
time.sleep(1) #延时一秒
这是在python环境下运行的,也就是说必须要安装python环境并且要在控制台输入才能得到翻译结果
图形界面版的:
from tkinter import *
import tkinter as tk
import urllib.request
import json
import urllib.parse
def print_result():
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
head = {'你的用户代理'}
content = input_entry.get()
form_Data = {}
form_Data['i'] = content
form_Data['from'] = 'AUTO'
form_Data['to'] = 'AUTO'
form_Data['smartresult'] = 'dict'
form_Data['client'] = 'fanyideskweb'
form_Data['doctype'] = 'json'
form_Data['version'] = '2.1'
form_Data['keyfrom'] = 'fanyi.web'
form_Data['action'] = 'FY_BY_REALTIME'
form_Data['typoResult'] = 'false'
data = urllib.parse.urlencode(form_Data).encode('utf-8')
req = urllib.request.Request(url, data, head)
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
result = json.loads(html)
#print("翻译的结果是:%s" % (result['translateResult'][0][0]['tgt'])) #打印json数据中键对应的值
translation = result['translateResult'][0][0]['tgt']
var.set(translation)
root = Tk()
root.title('有道翻译')
root.geometry('300x150')
var = tk.StringVar()
input_entry = Entry(root,width=30)
input_entry.pack()
entry_result = Entry(root,width=30,textvariable=var)
entry_result.pack()
button = Button(root,text='翻译',command=print_result)
button.pack()
root.mainloop()
这是图形界面版的,在框内输入你想要翻译的内容,点击翻译按钮就可以在第二个框内显示翻译结果,还可以用pyinstaller模块将程序打包成电脑可执行文件,pip pyinstaller就可以安装,打包命令是pyinstaller -F xxx.py -w,打包的文件会在dist里面
正在尝试写博客,把会的分享给你们,如有写的不好的地方,希望指点一下,谢谢!