聊天不发表情包会不习惯吗,Python带你轻松采集上万个表情包

news2024/11/16 18:29:23

前言

(。・∀・)ノ゙嗨 大家好,这里是小圆

聊天没表情包你会有点不习惯的感jio吗 就比如新注册了个qq或者微信再或者企业微信

emmm我就是这样拿到新账号后,跟别人聊聊天想发送表情包 ,结果只能发送软件自带的小表情,区区小表情怎么能满足我啊

在这里插入图片描述

想着想着,我就打开了个表情包的网站,一个个下载下来也太麻烦了,下一秒我就打开了我的pycharm

话不多说 ,今天咱们就来扒拉扒拉这个网站吧 👇

在这里插入图片描述

暂且来看看 这里的小部分表情包吧

在这里插入图片描述


前期准备

环境

  • Python 3.8
  • Pycharm 2021.2版本

模块

# 导入数据请求模块 --> 第三方模块 需要安装 pip install requests  <手机第三方APP 需要自己下载>
import requests
# 导入正则模块 --> 内置模块 不需要安装  <相当于手机自带APP>
import re
# 导入文件操作模块 --> 内置模块 不需要安装
import os

步骤

采集一页数据

  1. 发送请求, 模拟浏览器对于url地址发送请求
    在这里插入图片描述

  2. 获取数据, 获取服务器返回响应数据
    开发者工具: response <网页源代码>

  3. 解析数据, 提取我们想要的数据内容
    图片标题
    图片链接

  4. 保存数据, 把图片内容保存到本地文件夹


实现代码

1. 发送请求

完整 源码 点击 此处 领取 即可

模拟浏览器对于url地址发送请求

for page in range(26, 251):
    print(f'=====================正在采集第{page}页的数据内容=====================')
    # 确定请求链接 f 字符串格式化方法, 把page传入到 url 这个字符串中间
    url = f'https://fabiaoqing.com/biaoqing/lists/page/{page}.html'
    # 伪装模拟 字典数据类型, 构建完整键值对
    headers = {
        # User-Agent 用户代理, 表示浏览器基本身份信息
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }

2. 获取数据

获取服务器返回响应数据

开发者工具: response <网页源代码>
response --> <Response [200]>
text --> 文本
response.text: 获取响应文本数据, 网页源代码

3. 解析数据

提取我们想要的数据内容
图片标题
图片链接

    img_info = re.findall('<img class="ui image lazy" data-original="(.*?)" src=".*?" title="(.*?)" ', response.text)
    # for循环遍历, 把列表里面元素 一个一个提取出来
    for img_url, img_name in img_info:
        # img_info <列表: 箱子盒子> img_url, img_name <箱子里面东西>
        print(img_url, img_name)

4. 保存数据

发送请求, 获取二进制数据内容

response.content 获取二进制数据

保存 音频/视频/图片/特定格式文件<PDF, zip…>

###源码领取 309488165 ###
        img_content = requests.get(url=img_url, headers=headers).content
        # 自动创建文件夹  \ 转义字符串, 把含有特殊含义字符, 转义成除了本身以外不含有其他特殊含义
        filename = 'data\\'
        # 判断是否存在这个文件
        if not os.path.exists(filename):
            # 自动创建文件夹
            os.mkdir(filename)
        # 根据图片自己的后缀
        img = img_url.split('.')[-1]
        # 替换特殊字符
        new_name = re.sub(r'[\/:*?"<>|]', '', img_name)
        # len() 统计元素个数
        if len(new_name) > 20:
            new_name = new_name[:10]
        """
        OSError: [Errno 22] Invalid argument: 'data\\这盒里吗?.gif'
            含有特殊字符
        """
        with open(filename + new_name + '.' + img, mode='wb') as f:
            # 写入数据
            f.write(img_content)

最后

今天的案例分享到这里就结束啦

对代码有什么疑问 或者报错的 可以点击文末名片进行交流哦

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349443.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++-类和对象(下)

C-类和对象&#xff08;下&#xff09;一&#xff0c;const成员函数二&#xff0c;再谈构造函数1&#xff0c;初始化列表2&#xff0c;explicit关键字三&#xff0c;static成员四&#xff0c;友元&#xff08;friend&#xff09;1&#xff0c;全局函数做友元2&#xff0c;类做友…

冷冻电镜 - ChimeraX Density Map 密度图 操作

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/129055160 由冷冻电镜所生成的Volume,需要观察其内部结构,使用ChimeraX进行操作。 加载Volumes,例如my_volume.mrc 效果如下: 高斯滤波 在命令行(Co…

python 数据分析可视化实战 超全 附完整代码数据

代码数据&#xff1a;https://download.csdn.net/download/qq_38735017/873799141.1 数据预处理1.1.1 异常值检测①将支付时间转为标准时间的过程中发生错误&#xff0c;经排查错误数据为‘2017/2/29’,后将其修改为‘2017/2/27’。②经检测发现部分订单应付金额与实付金额都为…

解决jupyter以及windows系统中pycharm编译器画图的中文乱码问题大全

一、jupyter环境下中文乱码问题解决 我们在jupyter的notebook中使用matplotlib画图的时候&#xff0c;经常性的会遇见一些中文乱码显示□的情况,如下所示: 在此&#xff0c;网上给出的方法大多是以下的解决方法&#xff1a; import matplotlib.pyplot as pltplt.rcParams[fo…

界面组件Telerik UI for WinForms R1 2023——全新的Windows 11主题

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件。所有的UI for WinForms控件都具有完整的主题支持&#xff0c;可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。Telerik UI for WinForms组件发布了2023年第一个重大版本…

QCon演讲实录(下):多云管理关键能力实现与解析-AppManager

在上篇中&#xff0c;我们已经基本了解了多云管理。现在&#xff0c;我们将深入探讨多云管理关键能力实现&#xff1a;AppManager。 什么是AppManager&#xff1f; 上面我们讲了理论、我们自己使用的交付流程和整体架构&#xff0c;下面我们进入关键能力实现与解析的环节&…

Allegro如何通过视图显示区分动态和静态铜皮操作指导

Allegro如何通过视图显示区分动态和静态铜皮操作指导 用Allegro做PCB设计的时候,通常动态和静态铜皮是无法通过视图显示区分的,只能通过show element查看得知,如下图 左边铜皮是动态铜皮,右边是静态铜皮 但Allegro可以通过一些设置让动静态铜皮以不同效果显示出来 具体操…

Elasticsearch:使用 intervals query - 根据匹配项的顺序和接近度返回文档

Intervals query 根据匹配项的顺序和接近度返回文档。Intervals 查询使用匹配规则&#xff0c;由一小组定义构成。 然后将这些规则应用于指定字段中的术语。 这些定义产生跨越文本正文中的术语的最小间隔序列。 这些间隔可以通过父源进一步组合和过滤。 上述描述有点费解。我…

【计算机网络】HTTPS协议原理

文章目录一、认识HTTPS协议二、为什么要发明HTTPS三、HTTP与HTTPS的区别四、常见的加密方式1. 对称加密2. 非对称加密3. 数据摘要4. 数字签名五、HTTPS的原理探究方案1&#xff1a;只使用对称加密方案2&#xff1a;只使用非对称加密方案3&#xff1a;双方都使用非对称加密方案4…

2.15学习总结

上次被学长的问题给问住了&#xff0c;突然发现自己动规有点糊涂&#xff0c;然后就去屁颠屁颠的复习&#xff0c;找几个之前做过的题&#xff0c;突然发现&#xff0c;竟然还是写了好久才写出来&#xff0c;怎么说呢&#xff0c;信心被强烈打击到&#xff0c;然后自己找了一个…

MyBatis 之二(增、删、改操作)

文章目录1. 修改操作1.1 在 mapper&#xff08;interface&#xff09;里面添加修改方法的声明1.2 在 XMl 中添加 <update> 标签和修改的 sql 代码1.3 在 UserMapper 中右键 Generate 点击 Test 生成 update 测试类2. 删除操作2.1 在 mapper &#xff08;interface&#x…

重生之我是赏金猎人-SRC漏洞挖掘(六)-记一次有趣的客户端RCE+服务端XXE挖掘

0x01 起因 朋友给某甲方做渗透测试&#xff0c;奈何甲方是某知名保险&#xff0c;系统太耐艹&#xff0c;半天不出货 兄弟喊我来一块来看&#xff0c;于是有了本文 0x02 客户端RCE一处 朋友把靶标发给我看了下&#xff0c;除了两个下载链接啥也没有 链接下载下来的东西如图…

回溯算法理论基础

目录什么是回溯法回溯法的效率回溯法解决的问题如何理解回溯法回溯法模板什么是回溯法 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 所以以下讲解中&#xff0c;回溯函数也就是递归函数&#xff0c;指…

SpringCloud: sentinel降级配置、热点参数、系统规则 配置到nacos

一、application.yml spring.cloud.sentinel cloud:nacos:discovery:# 服务注册地址server-addr: xxx.xxx.xxx.xxx:8848sentinel:eager: truetransport:# 控制台地址dashboard: localhost:9999# nacos配置持久化datasource:ds2:nacos:server-addr: xxx.xxx.xxx.xxx:8848dataId…

YOLO 格式数据集制作

目录 1. YOLO简介 2.分割数据集准备 3.代码展示 整理不易&#xff0c;欢迎一键三连&#xff01;&#xff01;&#xff01; 1. YOLO简介 YOLO&#xff08;You Only Look Once&#xff09;是一种流行的目标检测和图像分割模型&#xff0c;由华盛顿大学的 Joseph Redmon 和 Al…

B端产品设计表单的主要分类和相关控件认识

在 Ant、TDesign、Arco 等开源系统中&#xff0c;表单的控件罗列、解释都已经非常全面了&#xff0c;即使是新手完整的看一遍&#xff08;这可不能偷懒&#xff5e;&#xff09;&#xff0c; 也能对表单相关控件有个大致的认识了。 之所以还要更新今天这篇内容&#xff0c;就是…

「5」线性代数(期末复习)

&#x1f680;&#x1f680;&#x1f680;大家觉不错的话&#xff0c;就恳求大家点点关注&#xff0c;点点小爱心&#xff0c;指点指点&#x1f680;&#x1f680;&#x1f680; 目录 第四章 向量组的线性相关性 &5&#xff09;向量空间 第五章 相似矩阵及二次型 &a…

HIVE 安装

目录 启动hadoop 把hive压缩包拷贝到虚拟机里面 解压 改名 配置环境变量 新建一个hive-site.xml文件&#xff0c;并编辑 配置文件 添加jar包 初始化mysql 启动hive 创建数据库 使用数据库 创建表 添加数据 查看数据 删除表 安装虚拟机 安装JDK 安装Hadoop …

亿级高并发电商项目-- 实战篇 --万达商城项目 九(广告服务、安装Redis优化用户缓存、广告服务实现类等开发)

专栏&#xff1a;高并发---分布式项目 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 &#xff08;商家端与用户端功能介绍、项目技术架构、数据库表结构等设计&#xff09; 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 &#xff08;商家端与用户端功能介绍、项…

多功能手机-课后程序(JAVA基础案例教程-黑马程序员编著-第三章-课后作业)

【案例3-3】多功能手机 记得 关注&#xff0c;收藏&#xff0c;评论哦&#xff0c;作者将持续更新。。。。 【案例介绍】 案例描述 随着科技的发展&#xff0c;手机的使用已经普及到每个家庭甚至个人&#xff0c;手机的属性越来越强大&#xff0c;功能也越来越多&#xff0c;因…