|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大佬们,谁能帮我看看如何修改,把入门爬取有道+按键后更新,十分卡顿,不知道从哪里入手。
报错的是网页解析的,感觉是输入汉字时候需要选择所以为空,但是纯拼音输入也不可。
- #! /usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- # GUI module generated by PAGE version 6.2
- # in conjunction with Tcl version 8.6
- # Nov 30, 2021 09:39:00 AM CST platform: Windows NT
- from tkinter import *
- from tkinter.scrolledtext import *
- import urllib.request
- import urllib.parse
- import json
- #page生成UI
- top= Tk()
- top.geometry("600x333+660+210")
- top.minsize(152, 1)
- top.maxsize(4484, 1415)
- top.resizable(1, 1)
- top.title("有道翻译")
- top.configure(background="#d9d9d9")
- Button1 = Button()
- Button1.place(relx=0.417, rely=0.465, height=33, width=63)
- Button1.configure(activebackground="#ececec")
- Button1.configure(activeforeground="#000000")
- Button1.configure(background="#d9d9d9")
- Button1.configure(disabledforeground="#a3a3a3")
- Button1.configure(foreground="#000000")
- Button1.configure(highlightbackground="#d9d9d9")
- Button1.configure(highlightcolor="black")
- Button1.configure(pady="0")
- Button1.configure(text="翻译",command = lambda:function())
- Scrolledtext1 = ScrolledText()
- Scrolledtext1.place(relx=0.05, rely=0.066, relheight=0.327
- , relwidth=0.898)
- Scrolledtext1.configure(background="white")
- Scrolledtext1.configure(font="TkTextFont")
- Scrolledtext1.configure(foreground="black")
- Scrolledtext1.configure(highlightbackground="#d9d9d9")
- Scrolledtext1.configure(highlightcolor="black")
- Scrolledtext1.configure(insertbackground="black")
- Scrolledtext1.configure(insertborderwidth="3")
- Scrolledtext1.configure(selectbackground="blue")
- Scrolledtext1.configure(selectforeground="white")
- Scrolledtext1.configure(wrap="none")
- Scrolledtext2 = ScrolledText()
- Scrolledtext2.place(relx=0.05, rely=0.631, relheight=0.318
- , relwidth=0.898)
- Scrolledtext2.configure(background="white")
- Scrolledtext2.configure(font="TkTextFont")
- Scrolledtext2.configure(foreground="black")
- Scrolledtext2.configure(highlightbackground="#d9d9d9")
- Scrolledtext2.configure(highlightcolor="black")
- Scrolledtext2.configure(insertbackground="black")
- Scrolledtext2.configure(insertborderwidth="3")
- Scrolledtext2.configure(selectbackground="blue")
- Scrolledtext2.configure(selectforeground="white")
- Scrolledtext2.configure(wrap="none")
- #button点击后操作
- def function():
- input_word = Scrolledtext1.get(1.0,END)
- print(input_word)
- #将输入化为字符串'\n'连接
- av = '\n'.join([i for i in input_word.splitlines() if i != ''])
- print(av)
- Scrolledtext2.insert("insert", fanyi(av))
- #有道爬虫
- def fanyi(content):
- global sum
- url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
- head={}
- head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'
- data = {}
- data['i'] =content
- data['from'] = 'AUTO'
- data['to'] = 'AUTO'
- data['smartresult'] = 'dict'
- data['client'] ='fanyideskweb'
- data['salt'] = '16327269692950'
- data['sign'] = '2381935fe41c5ed6773371fde2a3cff1'
- data['lts'] = '1632726969295'
- data['bv'] = '5f70acd84d315e3a3e7e05f2a4744dfa'
- data['doctype'] = 'json'
- data['version'] = '2.1'
- data['keyfrom'] = 'fanyi.web'
- data['action'] = 'FY_BY_CLICKBUTTION'
- data = urllib.parse.urlencode(data).encode('utf8')
- req = urllib.request.Request(url,data,head)
- response = urllib.request.urlopen(req)
- html = response.read().decode('utf8')
- targets=json.loads(html)
- results=targets['translateResult']
- #爬取值为字典需要选择输出,每个results是一组对应词典,i可以去一层括号,再使用src可获取输入的字,tgt获取翻译后的字
- sum = ''
- for i in results:
- sum = sum+i[0]['tgt']+'\n'
- return sum
- top.mainloop()
复制代码 |
-
|