Python tkinter 制作文章搜索软件,有没有方便快捷不知道,好玩就行了
  CwHRUUuZWG1N 2023年11月02日 36 0

前言

无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了

环境使用

  • 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['title'], stu['author'], stu['date'], stu['link'])) def click(): key_word = search_va.get() if key_word: search_list = search(word=key_word) # 往树状图中插入数据 show(search_list) # 单击 获取当前点击行的值 def tree_view_click(event): # 遍历选中的元素 for item in tree_view.selection(): # 获取选中元素的值 item_text = tree_view.item(item, "values") # 打印选中元素的值 # print(item_text) webbrowser.open(item_text[-1]) 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   104   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   73   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   38   0   0 Python
  YpHJ7ITmccOD   2024年05月17日   39   0   0 Python
CwHRUUuZWG1N