前言
无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了
环境使用
- Python 3.8
- Pycharm
模块使用
- import requests
- import tkinter as tk
- from tkinter import ttk
- import webbrowser
最终效果
对于本篇文章有疑问的同学可以加【资料白嫖、解答交流群:753182387】
界面实现代码
导入模块
import tkinter as tk
from tkinter import ttk
创建窗口
root = tk.Tk()
root.title(\'问题搜索\')
root.geometry(\'900x700+100+100\')
root.iconbitmap(\'search.ico\')
root.mainloop()
标题图片
img = tk.PhotoImage(file=\'封面.png\')
tk.Label(root, image=img).pack()
搜索框
search_frame = tk.Frame(root)
search_frame.pack(pady=10)
search_va = tk.StringVar()
tk.Label(search_frame, text=\'问题描述:\', font=(\'黑体\', 15)).pack(side=tk.LEFT, padx=5)
tk.Entry(search_frame, relief=\'flat\', width=30, textvariable=search_va).pack(side=tk.LEFT, padx=5, fill=\'both\')
tk.Button(search_frame, text=\'搜索一下\', font=(\'黑体\', 12), relief=\'flat\', bg=\'#fe6b00\').pack(side=tk.LEFT,padx=5)
内容显示界面
tree_view = ttk.Treeview(root, show=\"headings\")
tree_view.column(\'num\', width=1, anchor=\'center\')
tree_view.column(\'title\', width=150, anchor=\'w\')
tree_view.column(\'author\', width=10, anchor=\'center\')
tree_view.column(\'date\', width=10, anchor=\'center\')
tree_view.column(\'link\', width=30, anchor=\'center\')
tree_view.heading(\'num\', text=\'序号\')
tree_view.heading(\'title\', text=\'标题\')
tree_view.heading(\'author\', text=\'作者\')
tree_view.heading(\'date\', text=\'发布时间\')
tree_view.heading(\'link\', text=\'链接\')
tree_view.pack(fill=tk.BOTH, expand=True, pady=5)
内容效果代码
def search(word):
search_list = []
num = 0
for page in range(1, 4):
url = \'https://so.csdn.net/api/v3/search\'
data = {
\'q\': word,
\'t\': \'all\',
\'p\': page,
\'s\': \'0\',
\'tm\': \'0\',
\'lv\': \'-1\',
\'ft\': \'0\',
\'l\': \'\',
\'u\': \'\',
\'ct\': \'-1\',
\'pnt\': \'-1\',
\'ry\': \'-1\',
\'ss\': \'-1\',
\'dct\': \'-1\',
\'vco\': \'-1\',
\'cc\': \'-1\',
\'sc\': \'-1\',
\'akt\': \'-1\',
\'art\': \'-1\',
\'ca\': \'-1\',
\'prs\': \'\',
\'pre\': \'\',
\'ecc\': \'-1\',
\'ebc\': \'-1\',
\'urw\': \'\',
\'ia\': \'1\',
\'dId\': \'\',
\'cl\': \'-1\',
\'scl\': \'-1\',
\'tcl\': \'-1\',
\'platform\': \'pc\',
}
headers = {
\'user-agent\': \'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36\'
}
response = requests.get(url=url, params=data, headers=headers)
for index in response.json()[\'result_vos\']:
title = index[\"title\"].replace(\'<em>\', \'\').replace(\'</em>\', \'\')
dit = {
\'num\': num,
\'title\': title,
\'author\': index[\'nickname\'],
\'date\': index[\'create_time_str\'],
\'link\': index[\'url\'],
}
num += 1
search_list.append(dit)
return search_list
def show(search_list):
# 往树状图中插入数据
for index, stu in enumerate(search_list):
tree_view.insert(\'\', index + 1,
values=(stu[\'num\'], stu[\'title\'], stu