马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
python带你采集各种表情包,做群里最靓的崽~
【导语】本文是一篇 Python 爬虫实战,教读者批量采集网络表情包存到本地,做“群里最靓的崽”。环境 Python 3.8 + PyCharm,用 requests 与 re 模块;按“数据来源分析 → 发送请求 → 获取数据 → 解析提取图片 url 与标题 → 保存本地”的基本套路,并用 concurrent.futures 做多线程加速,文中给出带 headers 的请求函数与正则提取标题/图片地址的代码。
核心观点
- 环境模块:Python 3.8 + PyCharm,import requests(pip install requests)与 re 正则
- 爬虫套路:明确需求与 url → 模拟浏览器发请求 → 取响应数据 → 正则提取图片 url 与标题 → 保存本地文件夹
- 请求封装:get_response 带 User-Agent 伪装浏览器,返回响应对象(200 为成功)
- 加速与解析:用 concurrent.futures 多线程提升采集效率;re.findall 以 (.*?) 提取 cnblogs 表情包标题与地址
适用场景
适用于 Python 爬虫入门、图片批量采集与 requests+re 实战场景,适合编程初学者与数据采集爱好者参考。
关键信息
(爬虫实战,文中环境配置、请求封装与正则提取代码见正文代码块。)
前言
大家早好、午好、晚好吖~
环境使用:
- Python 3.8
- Pycharm 2021.2版本
模块使用:
- import requests >>> pip install requests
- import re
爬虫的基本套路
一. 数据来源分析
二. 代码实现步骤
- 发送请求, 用python代码模拟浏览器对于url地址发送请求
- 获取数据, 获取服务器返回响应数据
- 解析数据, 提取我们想要图片url以及图片的标题
- 保存数据, 图片内容保存本地文件夹
代码
[code]import requests # 数据请求模块import re # 正则表达式import time # 时间模块import concurrent.futuresdef get_response(html_url): """ 发送请求函数 :param html_url: 形式参数, 不具备实际意义 :return: 某些你不加伪装,也可以得到数据 headers 字典数据类型, Cookie 用户信息, 常用于检测是否有登陆账号 User-Agent: 用户代理 表示浏览器基本身份标识 """ headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36' } response = requests.get(url=html_url, headers=headers) return response # 响应对象, 200表示状态码 请求成功源码、解答、教程加Q裙:832157862def get_img_info(html_url): """ 获取图片信息函数 :param html_url: 网址 :return: """ response = get_response(html_url=html_url) # 调用函数 # print(response.text) # <a target="_blank" href="https://www.cnblogs.com/.*?" title="(.*?)"> () 表示精确匹配, 我们想要数据内容 .*? 通配符 可以匹配任意字符 除了(\n换行符) # 正则表达式就是复制粘贴 想要的数据用(.*?)表示就可以了 title_list = re.findall('<a target="_blank" href="https://www.cnblogs.com/.*?" title="(.*?)">', response.text) url_list = re.findall(' |