gui查词
利用python实现一个在线查词软件,效果如图
文章图片
1.观察网页结构,确定方法
文章图片
待会要用到的有三处:链接,headers,和data,gui就采用最简单的tkinter,网页请求用requests,解析数据用json
文章图片
url = "https://aidemo.youdao.com/trans"
文章图片
headers = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Origin': 'http://ai.youdao.com',
'Referer': 'http://ai.youdao.com/product-fanyi.s',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
文章图片
data = https://www.it610.com/article/{准备好之后访问会返回一个json字符串,可以用python自带的json进行解析
'from': 'Auto',
'to': 'Auto'
}
文章图片
所用代码如下
#!/usr/bin/python3总结
from tkinter import *
import requests
import json
root=Tk()
entry1=Entry(root,width=50)
entry1.pack()
value1=StringVar()
value2=StringVar()
def query():
url = "https://aidemo.youdao.com/trans"
headers = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Origin': 'http://ai.youdao.com',
'Referer': 'http://ai.youdao.com/product-fanyi.s',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
data = https://www.it610.com/article/{
'from': 'Auto',
'to': 'Auto'
}
data['q']=entry1.get()
response = requests.post(url=url, headers=headers, data=https://www.it610.com/article/data)
cihui = json.loads(response.content)
entry2.select_clear()
entry2.insert(0, cihui['web'][0]['value'])
button = Button(root, text="query", command=query).pack()
entry2 = Entry(root,textvariable=value2,width=50)
entry2.pack()
root.mainloop()
代码量不多,关键是分析站的时间比较多,如分析返回的数据结构,构建索引,json一般采用json库就行,如果是在网页中爬取的话,则可以采用字符串匹配,【gui查词】屌丝版查词软件就好了,忽略外观ok
和一个比较新的pyquery库----->即像jQuery一样对数据进行查找。
还有gui库,由于本次功能简单就使用了本身的tkinter,有兴趣可以试一下pyqt,wxpython,不过我没用过
其实可以用一个库把代码 打包成exe程序,不过建议最好别这样做,因为生成的文件很大,比如这个程序差不多十几兆左右,原理是将pytohn解释器和所用到的库全都打包到一起。
推荐阅读
- Spring|Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
- 【万伽复利】什么是复利(如何利用复利赚钱?)
- unity探究UGUI的Image中sprite和overrideSprite的区别
- 苹果手机如何利用库乐队自制铃声
- “没有利用价值的人是很受冷遇的。”
- 被mybatis-generator-gui-0.6.1报错坑到的那些事(二)
- 可悲的好人
- 利用好你的暗时间,让成长无处不在
- 如何利用漏斗模型增加转化率减少流失率()
- 2018-12-05|2018-12-05 打卡第二十二天 想要利用业余时间培养爱好就得先做好时间管理