现在年轻人聊天,不带点表情包都不好意思说自己是年轻人, 表情包已然成为人与人聊天中不可缺少的部分。

刚认识的朋友丢几个表情包出去分分钟拉进关系,女朋友生闷气了整两个表情包开心一下,也可以化解尴尬,没时间打字整两张表情包,礼貌而不失尴尬。

人生苦短,我用python

  • 一、欲扬先抑
  • 二、代码

一、欲扬先抑

准备工作很重要,先知道我们要干啥,用什么来做,怎么做,再去一步步实时,稳扎稳打。

开发环境配置

Python 3.6
Pycharm

打开你的浏览器搜索你要安装的软件名字

Python

后面带官方的就是官网了,但凡名字下方带了广告二字就别点,自信点,那就是广告。

直接点下面的 Python 3.10.2 下载最新版本即可,不用点那啥 Download

pycharm


随便点一个 Download
专业版社区版都OK

安装方法一个个讲太久了,可以扫文章最下面的码有视频

模块安装配置

requests
parsel
re

打开电脑,按住win+r,输入cmd,回车,输入pip install (加上要安装的模块名),回车即可安装。

二、代码

目标:fabiaoqing
地址前面后面大家自己补全一下,包括后面代码里的,这应该没有不会的吧。

导入模块

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}秒')

兄弟们,18秒一千多张,这结束的有点快了啊

大家看完觉得有用的话,点个赞收藏一下呗,爱你摸摸大,你看代码运行这么快,我可不希望大家平常也这么快,不太好~

用python一键保存几千张表情包斗图,分分钟征服朋友圈所有好友相关推荐

  1. 没有表情包都不好意思说自己是年轻人——python一键保存几千张表情包图片

    现在年轻人聊天,不带点表情包都不好意思说自己是年轻人- 刚认识的朋友丢几个表情包出去分分钟拉进关系,女朋友生闷气了整两个表情包开心一下,也可以化解尴尬,没时间打字整两张表情包,礼貌而不失尴尬. 一.欲 ...

  2. Python 爬取表情包-斗图不会输在起跑线

                   Python 爬取表情包-斗图不会输在起跑线 对于酷爱聊天的朋友来说,表情包应该是他们心中的灵魂,没有图的聊天只能算虾扯蛋了.图片(表情包)赋予了聊天更多的内涵,很多时候 ...

  3. 【精选】表情包斗图小程序(可引流,开通流量主,权益外卖cps,带pc后台管理)

    牛云表情包斗图小程序,流量主变现,外卖cps权益变现,uniCloud云开发无需购买服务器和域名,助力每一位内容创业者. 技术优势 基于 uniapp + uniCloud 研发,无需购买服务器和域名 ...

  4. Python自动生成表情包 斗图再无对手!

    作为一个数据分析师,应该信奉一句话----"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态----表情包!!!! 表情包不仅仅是一种符号,更是一种文化:是促 ...

  5. python表情包斗图_Python爬虫入门教程 13-100 斗图啦表情包多线程爬取

    斗图啦表情包多线程爬取-写在前面 今天在CSDN博客,发现好多人写爬虫都在爬取一个叫做斗图啦的网站,里面很多表情包,然后瞅了瞅,各种实现方式都有,今天我给你实现一个多线程版本的.关键技术点 aioht ...

  6. “一日不斗,我浑身难受”,表情包斗图成瘾下的大市场

    聊天无言对,斗图能长久.雪碧与阔乐,压惊必须有.暴漫蘑菇头,都没群主丑.真香奥利给,皮虾我们走.修仙入佛系,难逃单身狗.雪姨黄子韬,尔康张学友.心情不美丽,土拔鼠怒吼.没事斗斗图,结交好基友-- 网友 ...

  7. 微信大更新!表情包突破300上限,朋友圈发30秒视频,包括15个新变化!

    今天微信针对iOS设备发布了8.0.3新版本, App Store 页面微信只提到"本次更新解决了一些已知问题",但经过实测发现共带来了15个新变化,一期来看看吧 我们一个个来看看 ...

  8. python画笑脸表情_用Matplotlib,妈妈再也不担心我没有表情包斗图了

    全文共3003字,预计学习时长6分钟 Netflix.Instagram.YouTube.电影还有电视剧,这些都有什么共同之处呢?它们都是视觉媒介,吸引着形形色色的观众. 今时今日,大部分人逐渐放弃读 ...

  9. python表情包斗图_Python爬取 斗图表情,让你成为斗图大佬

    话不多说,上结果(只爬了10页内容) 上代码:(可直接运行)   用到Xpath #encoding:utf-8 # __author__ = 'donghao' # __time__ = 2018/ ...

最新文章

  1. 关于技术方案与架构宣讲的思考
  2. vue封装第三方插件并发布到npm
  3. 中国伺服电机行业运营现状及前景趋势展望报告2022-2028年版
  4. java tail -f 后返回_tail -f 的实现 | 学步园
  5. 20145202马超 2016-2017-2 《Java程序设计》第一次实验
  6. caffe 下测试 MNIST数据
  7. 作者:司光亚(1967-),男,国防大学信息作战与指挥训练教研部教授,主要研究方向为战争复杂系统建模仿真。...
  8. 让自己慢下来(2)-朋友们的回复
  9. Maven学习(1) - Maven入门
  10. 黑客,计算机革命的英雄!
  11. 怎么把Word文档转换成长图
  12. 印尼穴居小矮人是进化异类还是病态现代人?
  13. OpenCV实现人体姿态估计(人体关键点检测)OpenPose(图像、视频或调用摄像头均能实现)
  14. 使用Arduino驱动 ADS1115 ADC采样芯片
  15. 手机游戏开发平台有哪些
  16. 孩子沉迷网游 呼唤亲子陪伴教育
  17. 深度测评 | 五大主流多端开发框架全面对比
  18. 商业仲裁与诉讼律师Katherine Cheung加入德汇香港担任合伙人
  19. matlab编程勒让德多项式展开例题解析,第19 勒让德多项式 球函数习题及解答
  20. C语言 —— 你不得不知道的 scanf 的高级用法

热门文章

  1. oracle是做什么用的,可以形容下Oracle有什么用,是干什么的吗?
  2. 横向评测常见的优秀国外5个域名注册商
  3. Qt下的国际化方法—翻译文件(.ts .qm文件)的使用
  4. 学习安装java运行环境
  5. Excel出现“向程序发送命令时出现问题”错误
  6. 分布式体系结构:非集中式结构
  7. tdk磁材手册_TDK 集团发布关于铝电解电容器的完整修订版 《数据手册》
  8. 一条宽带多人共享违法?
  9. 计算机英语性考任务答案,2010秋英语(1)形考答案
  10. 「镁客·请讲」OracleChain老狼:EOS智能合约生态唯上,超级节点的竞争,不看吹牛先看做事...