首页 > 编程语言 >Python写表情包搜索工具(非常详细)零基础入门到精通,收藏这一篇就够了

Python写表情包搜索工具(非常详细)零基础入门到精通,收藏这一篇就够了

时间:2024-07-19 21:01:37浏览次数:14  
标签:调用 入门 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方法将它们放置在窗口中的适当位置。

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

运行效果:

题外话

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,领取方法如下

标签:调用,入门,Python,函数,用户,就够,文本框,页码,表情
From: https://blog.csdn.net/Hacker_doggy/article/details/140518725

相关文章

  • python实现快速幂
    若需要计算a^b,如果使用循环来计算显然效率是很低的以下有三种方法实现快速幂方法一,python自带函数pow(a,b,mod),其中a为底数,b为指数,mod是对该数取模,mod参数有时候可以不传a=pow(5,9)方法二,利用递归实现快速幂,该方法需要注意分类讨论,考虑到指数为0,指数为1以及指数是奇数的情......
  • Python中turtle库效果展示
        前言    Python因其众多的第三方库而闻名,其中,用于绘制图形的turtle库由于其简单易用和方便性得到了广泛的青睐。笔者对此有些许兴趣,欲在后来的文章中对此展开学习,便先发布一篇预热文章,展现Python中使用turtle所能达到的效果如何。    内容概要......
  • Python入门知识点 4--格式化输出与运算符
    1、格式化输出name='小赵'age=18#print('大家好,我是'+name+'我今年'+age+'岁了')#字符串和整型不能拼接print('大家好,我是'+name+'我今年'+str(age)+'岁了')#把整型转换成字符串输出,但比较麻烦print('大家好,我是',name,'我今年',age,&#......
  • 为了Python换源,我开发了一个库「pipco 0.0.19」
    你好,我是悦创。有时候某个源又出问题,或者频繁切换源。我就想开发一个库可以切换的,链接:https://pypi.org/project/pipco/库是开源的,可以自行学习或者使用。使用方法:安装pipinstallpipco查看帮助pcohelp当你需要使用Python时,Pip是一个非常重要的工具,它用于安......
  • Python多任务编程的三种方式
    计算机的设计就是为了帮助人类或者模仿人类的某些行为。生活中的多任务:人可以一边唱歌,一边跳舞;人开车的时候是通过手、脚和眼睛共同配合来驾驶一辆车。多任务编程就是这样一个鲜明的例子,计算机也可以实现多任务编程:比如一边听歌一边玩游戏、打开浏览器上网同时能登录微信、QQ......
  • python+flask计算机毕业设计基于WEB技术的校园红歌曲库管理系统的设计与实现(程序+开题
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和互联网的广泛普及,数字化管理已成为提升工作效率与服务质量的重要手段。在校园文化建设中,红歌作为传承红色文化、......
  • 链表(Linked List)-Python实现-使用类和使用函数
    链表链表(LinkedList)单链表(SinglyLinkedList)节点类(NodeClass)链表类(LinkedListClass)使用链表类不用类的方法实现链表实现单链表使用函数实现链表具体讲解类的方法实现链表Node类LinkedList类不用类的方法实现链表创建节点添加节点删除节点搜索节点显示链表总......
  • Python-request库的详细解析
    引言在现代网络应用中,与服务器进行通信是一个非常基础且重要的功能。Python的requests库是一个非常强大且易于使用的HTTP库,它允许我们发送HTTP请求,与Web服务进行交互。本文将详细介绍requests库的使用,包括其基本概念、常用功能以及一些高级用法。安装requests库在使用req......
  • python实现爆破wifi密码
    importpywifiimporttimefrompywifiimportconst#WiFi扫描模块defwifi_scan():#初始化wifiwifi=pywifi.PyWiFi()#使用第一个无线网卡interface=wifi.interfaces()[0]#开始扫描interface.scan()foriinrange(4):t......
  • python+flask计算机毕业设计企业固定资产档案管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着企业规模的不断扩大和业务的日益复杂化,固定资产作为企业重要的经济资源,其管理效率直接影响到企业的运营成本和资产利用率。传统的手工......