Python+tkinter实现制作文章搜索软件

 更新时间:2022年10月09日 10:29:25   作者:松鼠爱吃饼干  
无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了。软件是利用Python和tkinter实现的,感兴趣的可以尝试一下

前言

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

环境使用

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])

到此这篇关于Python+tkinter实现制作文章搜索软件的文章就介绍到这了,更多相关Python tkinter文章搜索内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何使用selenium和requests组合实现登录页面

    如何使用selenium和requests组合实现登录页面

    这篇文章主要介绍了如何使用selenium和requests组合实现登录页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 老生常谈Python startswith()函数与endswith函数

    老生常谈Python startswith()函数与endswith函数

    下面小编就为大家带来一篇老生常谈Python startswith()函数与endswith函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Python 列表中的删除操作之del、remove 和 pop 的区别

    Python 列表中的删除操作之del、remove 和 pop 的区别

    在Python中,列表(list)是一种非常灵活的数据结构,它允许我们存储一系列的元素,在删除元素时,我们可以使用三种不同的方法:del、remove 和 pop,每种方法都有其特定的用途和行为,了解它们的区别可以帮助我们更有效地使用列表,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Python二叉树定义与遍历方法实例分析

    Python二叉树定义与遍历方法实例分析

    这篇文章主要介绍了Python二叉树定义与遍历方法,结合实例形式分析了二叉树的概念、原理及Python定义、遍历二叉树相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • python3 打印输出字典中特定的某个key的方法示例

    python3 打印输出字典中特定的某个key的方法示例

    这篇文章主要介绍了python3 打印输出字典中特定的某个key的方法,涉及Python字典的遍历、判断、输出等相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • Python切图九宫格的实现方法

    Python切图九宫格的实现方法

    这篇文章主要介绍了Python切图九宫格的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 使用Pytorch Geometric进行链接预测的实现代码

    使用Pytorch Geometric进行链接预测的实现代码

    PyTorch Geometric (PyG)是构建图神经网络模型和实验各种图卷积的主要工具,在本文中我们将通过链接预测来对其进行介绍,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-10-10
  • python 画三维图像 曲面图和散点图的示例

    python 画三维图像 曲面图和散点图的示例

    今天小编就为大家分享一篇python 画三维图像 曲面图和散点图的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • tensorflow入门之训练简单的神经网络方法

    tensorflow入门之训练简单的神经网络方法

    本篇文章主要介绍了tensorflow入门之训练简单的神经网络方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Python txt文件加入字典并查询的方法

    Python txt文件加入字典并查询的方法

    今天小编就为大家分享一篇Python txt文件加入字典并查询的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论