前言
无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了
- Python 3.8
- Pycharm
- import requests
- import tkinter as tk
- from tkinter import ttk
- import webbrowser
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[