Python一键保存千张表情包图
表情包这个东西,现在每个人聊天都会看到。有时候自己发完文字后,不配一个表情包都会觉得很不习惯。不止是在聊天,就比如我现在发文章都要配几个表情包。
跟刚认识的朋友在聊天时,是不是的发几个表情包,都感觉能更快的拉近关系 ~
但是一个个保存表情包太麻烦了。用python一键保存就很方便!
接下来教你们如何用python一键保存千张表情包图
首先开发环境配置
Python 3.6
Pycharm
其次就是代码了
导入模块
import requests
import parsel
import re
import time
请求网址
url = f'fabiaoqing/biaoqing/lists/page/{page}.html'
请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
返回网页原代码
response = requests.get(url=url, headers=headers)
解析数据
selector = parsel.Selector(response.text) # 把respons.text 转换成 selector 对象
第一次提取 提取所有的div标签内容
divs = selector.css('#container div.tagbqppdiv') # css 根据标签提取内容
通过标签内容提取他的图片url地址
img_url = div.css('img::attr(data-original)').get()
提取标题
title = div.css('img::attr(title)').get()
获取图片的后缀名
name = img_url.split('.')[-1]
保存数据
new_title = change_title(title)
对表情包图片发送请求 获取它二进制数据
img_content = requests.get(url=img_url, headers=headers).content
保存数据
def save(title, img_url, name):img_content = get_response(img_url).contenttry:with open('img\\' + title + '.' + name, mode='wb') as f:# 写入图片二进制数据f.write(img_content)print('正在保存:', title)except:pass
替换标题中的特殊字符 - 因为文件命名不明还有特殊符号,所以我们需要通过正则表达式替换掉特殊字符
def change_title(title):mode = re.compile(r'[\\\/\:\*\?\"\<\>\|]')new_title = re.sub(mode, "_", title)return new_title
记录时间
time_2 = time.time()use_time = int(time_2) - int(time_1)
print(f'总共耗时:{use_time}秒')
朋友们,这里是单线程,下面是多线程,那我就直接上代码了
import requests
import parsel
import re
import time
import concurrent.futures def change_title(title):mode = re.compile(r'[\\\/\:\*\?\"\<\>\|]')new_title = re.sub(mode, "_", title)return new_titledef get_response(html_url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}repsonse = requests.get(url=html_url, headers=headers)return repsonsedef save(title, img_url, name):img_content = get_response(img_url).contenttry:with open('img\\' + title + '.' + name, mode='wb') as f:f.write(img_content)print('正在保存:', title)except:passdef main(html_url):html_data = get_response(html_url).textselector = parsel.Selector(html_data) divs = selector.css('#container div.tagbqppdiv') for div in divs:img_url = div.css('img::attr(data-original)').get()title = div.css('img::attr(title)').get()name = img_url.split('.')[-1]new_title = change_title(title)save(new_title, img_url, name)if __name__ == '__main__':time_1 = time.time()exe = concurrent.futures.ThreadPoolExecutor(max_workers=10)for page in range(1, 201):url = f'fabiaoqing/biaoqing/lists/page/{page}.html'exe.submit(main, url)exe.shutdown()time_2 = time.time()use_time = int(time_2) - int(time_1)print(f'总共耗时:{use_time}秒')
ok,十几秒一千多张,这速度有点快啊
朋友们看完的话,觉得有用不错的话,给我点个赞吧 ~
Python一键保存千张表情包图相关推荐
- python恶搞表情包下载大全_用 Python 把你的朋友变成表情包
标签:rgb get pytho 尺寸 imp 像素 lan href 不可 实现步骤 导入朋友的照片(前景照片); 处理前景照片(缩放.旋转,填充); 导入熊猫头照片 ...
- python爬表情包_教你用Python来爬取表情包网站的所有表情图片
教你用Python来爬取表情包网站的所有表情图片 配置环境 安装Python 开发环境 3X系列 win + R 打开运行,输入cmd,输入python,进行验证是否安装Python win + R ...
- 用python一键保存几千张表情包斗图,分分钟征服朋友圈所有好友
现在年轻人聊天,不带点表情包都不好意思说自己是年轻人, 表情包已然成为人与人聊天中不可缺少的部分. 刚认识的朋友丢几个表情包出去分分钟拉进关系,女朋友生闷气了整两个表情包开心一下,也可以化解尴尬,没时 ...
- 没有表情包都不好意思说自己是年轻人——python一键保存几千张表情包图片
现在年轻人聊天,不带点表情包都不好意思说自己是年轻人- 刚认识的朋友丢几个表情包出去分分钟拉进关系,女朋友生闷气了整两个表情包开心一下,也可以化解尴尬,没时间打字整两张表情包,礼貌而不失尴尬. 一.欲 ...
- python保存表情包_用Python一键保存半佛仙人所有的骚气表情包
阅读文本大概需要 3 分钟 出处:Python知识圈 作者:pk哥 2019年发现两个有意思而且内容比较硬核的公众号.都是同一个人运营的,我们都叫他半佛老师,现实中的职业是风控,公众号内容涉及揭秘灰产 ...
- 学习python表情包_我用Python一键保存了半佛老师所有的骚气表情包
本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权. 2019年发现两个有意思而且内容比较硬核的公众号.都是同一个人运营的,我们都叫他半佛老师,现实中的职业是风控,公众号内容涉及 ...
- python从入门到入土表情包-我用Python一键保存了半佛老师所有的骚气表情包
本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权. 2019年发现两个有意思而且内容比较硬核的公众号.都是同一个人运营的,我们都叫他半佛老师,现实中的职业是风控,公众号内容涉及 ...
- 用Python一键保存半佛仙人所有的骚气表情包
阅读文本大概需要 3 分钟 出处:Python知识圈 作者:pk哥 2019年发现两个有意思而且内容比较硬核的公众号.都是同一个人运营的,我们都叫他半佛老师,现实中的职业是风控,公众号内容涉及揭秘灰产 ...
- python灰产_我用Python一键保存了半佛老师所有的骚气表情包
本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权. 2019年发现两个有意思而且内容比较硬核的公众号.都是同一个人运营的,我们都叫他半佛老师,现实中的职业是风控,公众号内容涉及 ...
最新文章
- “此文件来自其他计算机,可能被阻止以帮助保护该计算机” 教你win7解除阻止程序运行怎么操作...
- python写入csv文件的几种方法
- JavaScript 进行数值与对应的 ASCII 字符之间的转换【from​Char​Code、from​Code​Point、charCodeAt、code​PointAt】
- Redis----windows下的常用命令
- libtorch和torchvision的编译安装
- 【转】自学成才秘籍!机器学习深度学习经典资料汇总
- 爱我的人请别走远(转载)
- UIButton常用属性
- ios开发text kit_TextKit
- 百旺智能编码_【百旺开票软件税控盘版】百旺金税盘开票软件下载 v2020 最新版本-趣致软件园...
- endnotex9切换中文_EndNote9简明教程中文版
- 通信协议(一)——UART协议
- 如何知道自己的手机注册了多少软件和网站?(亲测有效)
- 如何在本地运行travis-ci
- windows下使用HHKB键盘,配置autohotkey键位映射
- Python数据处理课程设计-房屋价格预测-代码
- java 判断图片格式_Java判断上传图片格式的实例代码
- 利用策略路由traffic-policy 实现路由的控制
- 飞飞cms添加广告html,飞飞cms影视系统 安装说明飞飞影视系统 建站流程
- CVPR 2019 目标检测论文汇总
热门文章
- C/C++ 控制台高级操作(非常详细)
- gStore:A Graph-based SPARQL Query Engine---part1
- LVGL 官方UI设计工具 EdgeLine代码移植
- 关于美食商城HTML网页设计-----在线美食订餐网站html模板源码30个页面(功能齐全) html+css+javascript网页设计实例 企业网站制作...
- 经典文献阅读之--Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping(紧耦合3D激光雷达)
- 软件定义存储(SDS)之入门
- 【Qt象棋游戏】03_象棋棋子摆放
- 和疫情赛跑 30 天,湖北武汉的程序员们怎么样了?
- Rogue Signs: Deceiving Traffic Sign Recognition with Malicious Ads and Logos
- 肌电信号的包络matlab程序_基于matlab的肌电信号处理程序: