Python写表情包搜索工具

admin 2024年3月26日08:26:05评论7 views字数 1494阅读4分58秒阅读模式

Python写表情包搜索工具

首先,我们导入了一些必要的库。requests库用于发送HTTP请求,json库用于处理JSON数据,tkinter库用于创建GUI界面,PIL库用于处理图像,io库用于在内存中读写数据。

然后,我们定义了一个常量ITEMS_PER_PAGE,表示每页显示的图片和链接数量。

接下来,我们定义了一个名为search_emoji的函数。这个函数用于执行表情包搜索操作。它接受一个可选的page参数,默认为1,表示要搜索的页码。

在函数内部,我们首先从搜索框中获取用户输入的关键字。如果没有输入关键字,则弹出一个提示框,并返回。

然后,我们根据关键字和页码构建了一个API请求的URL。这个URL包含了关键字和页码作为参数,以便向API发送请求获取数据。

接下来,我们使用requests库发送了一个GET请求,并将返回的数据解析为JSON格式。

然后,我们清空了显示结果的文本框内容,以便显示新的搜索结果。

如果返回的数据是一个列表,说明找到了相关的表情包。我们计算出总共的表情包数量和页数,并更新页码的显示。然后,根据当前页码计算出要显示的表情包的起始和结束索引。

接下来,我们遍历这些表情包,获取每个表情包的缩略图URL和来源链接。

然后,我们尝试从用户输入的宽度和高度文本框中获取宽度和高度的值。如果用户没有输入有效的值,我们将宽度和高度设置为默认值150。

接下来,我们使用requests库发送了一个GET请求,获取表情包的缩略图。然后,我们使用PIL库打开并调整表情包的大小。接着,我们将调整后的表情包转换为ImageTk.PhotoImage对象,并将其显示在GUI界面上的一个Label组件中。

同时,我们将表情包的链接和来源链接插入到结果文本框中,以便用户可以查看和复制。

如果返回的数据不是列表,说明未找到相关的表情包。我们向结果文本框中插入一条提示,告诉用户未找到相关表情包。

除了搜索函数,我们还定义了其他几个函数来处理用户在界面上的操作。

go_to_page函数在用户点击“Go”按钮时调用,用于跳转到指定的页码。它从页码文本框中获取用户输入的页码,并调用search_emoji函数进行搜索。

go_to_first_page函数在用户点击“首页”按钮时调用,用于跳转到第一页。它直接调用search_emoji函数进行搜索第一页。

go_to_last_page函数在用户点击“尾页”按钮时调用,用于跳转到最后一页。它首先发送一个请求获取所有表情包的数据,然后根据总页数调用search_emoji函数进行搜索最后一页。

go_to_prev_page函数在用户点击“上一页”按钮时调用,用于跳转到上一页。它从页码文本框中获取当前页码,并调用search_emoji函数进行搜索前一页。

go_to_next_page函数在用户点击“下一页”按钮时调用,用于跳转到下一页。它从页码文本框中获取当前页码,并发送一个请求获取所有表情包的数据,然后根据总页数调用search_emoji函数进行搜索下一页。

最后,在主程序中,我们创建了一个Tk类的实例,设置窗口的标题和尺寸,并配置了背景颜色。

然后,我们创建了各个GUI组件,并使用grid方法将它们放置在窗口中的适当位置。

最后,我们进入了主事件循环,等待用户与界面进行交互。在这个循环中,程序会根据用户的操作来调用相应的函数,更新界面的显示。

运行效果:

Python写表情包搜索工具

获取文章源码和工具

链接:https://pan.baidu.com/s/1lvNDfQfoPIEUQijJpVmrhw 提取码:xn71

原文始发于微信公众号(蓝胖子之家):Python写表情包搜索工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月26日08:26:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Python写表情包搜索工具https://cn-sec.com/archives/2603275.html

发表评论

匿名网友 填写信息