摘要:是这样的有一次想要斗图配图就在网上搜索表情包然后发现了一个表情巨多的网站不小心动起了邪念产生了兴趣那就把它们存下来吧用请求了一下发现这个网站没有做反爬发现这里有的页面简单的切换一下页面可以发现第一页的链接是这样的所以以此类推构建一下所有这样
是这样的
有一次想要斗图
配图
就在网上搜索表情包
然后发现了一个表情巨多的网站
不小心动起了邪念
产生了兴趣
那就
把它们存下来吧
用 requests 请求了一下
发现这个网站没有做反爬
发现这里有 4k+ 的页面
简单的切换一下页面
可以发现
第一页的链接是这样的
https://fabiaoqing.com/biaoqi...
所以以此类推
构建一下所有url
_url = "https://fabiaoqing.com/biaoqing/lists/page/{page}.html"
这样我们就可以得到所有表情包的链接了
我们来看一下页面里面的信息
在这里
我们只需要图片的地址和图片的名称即可
所以我们只要获取到每个页面的
所有 img 标签就可以了
可以使用 BeautifulSoup 根据类名获取
response = requests.get(url)
拿到了页面里面的所有 img
那么就可以获取每个图片的地址和名称
从而下载到我们想要的位置
for img in img_list:
至此
几行代码就搞定了
大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784,758,214,这里是python学习者聚集地!
先来测试一下
下载一个页面的图片
可以发现
每张图片都获取到了
效果还行
不过
要下载那么多张表情包的话
这样写的代码有点慢了
还是开启多线程吧
对于这种 IO 操作
还是能加快不少下载时间的
queue = Queue()
在这里创建了 DownloadBiaoqingbao 这个线程类
然后创建 10 个线程
把 url 添加到队列中
来运行一下
这时候文件夹就写入表情包啦
经过一段时间
小帅b的文件夹就存满了各种表情包了哈哈哈
谁敢跟我斗图
我就砸死他
不过呢
有个问题
文件夹里面的图片太多了
需要检索一下才行
比如我们要找到关于
小老弟
的表情包
那么我们可以使用
glob
import glob for name in glob.glob("/home/wistbean/biaoqingbao/*小老弟*.*"): print(name)
通过 * 这个符号进行模糊匹配
运行一下可以得到所有含有“小老弟”的表情包
到这里
已经有了大量的表情包
也可以通过关键词检索到表情包了
那么如何进一步用到微信来呢
嘿嘿,我得意的笑
开下脑洞
我们使用微信的接口和 python 对接一下
比如
我发送给我的微信说
我要关于沙雕的表情包,发 6 张来
这个时候
python接收到指令
然后就去检索表情包
发送回我的微信
可以使用 itchat 这个模块
使用网页版微信的方式登录
itchat.auto_login(hotReload=True) itchat.run()
运行这段代码可以得到二维码
扫一下就可以登录进去操作微信了
接着就可以根据小帅b发送过来的关键词
进行文件搜索
imgs = [] def searchImage(text): print("收到关键词: ", text) for name in glob.glob("/home/wistbean/biaoqingbao/*"+text+"*.jpg"): imgs.append(name) 大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!
然后就可以在回复微信的时候发送图片给自己了
在这里就给自己发前 6 张图片吧
@itchat.msg_register([PICTURE, TEXT]) def text_reply(msg): searchImage(msg.text) for img in imgs[:6]: msg.user.send_image(img) time.sleep(0.3) print("开始发送表情:", img) imgs.clear()
但这里有个问题
就是 itchat 在发送图片的时候
中文名的文件发了没有反应
后来小帅b发现是 requests 库的问题
修改它的 fields.py
value = email.utils.encode_rfc2231(value, "utf-8") # value = "%s*=%s" % (name, value) value = "%s="%s"" % (name, value.encode("utf-8"))
也就是将
value = "%s*=%s" % (name, value)
改成
value = "%s="%s"" % (name, value.encode("utf-8"))
ok
搞定
ok
以上
当然还可以优化一下
比如每次加载更多同类型的表情包
将表情包发送给特定的人等等
自己去玩吧
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/43883.html
摘要:因当时项目组人手严重不足,故兼做部分功能测试的工作。年下半年,我的工作职能发生了调整,不再跟进系统相关,工作职能偏向文职,无法有更大的进步空间。后来从网上了解到自动化测试,去年下半年也开始通过视频学习自动化测试相关,决心转行做自动化测试。 本人大学专业非计算机相关,毕业六年一直从事运营相关工...
摘要:文章目录前言爬取分析视频教学成果展示福利入门到就业学习路线规划小白快速入门爬虫路线前言皮皮虾一个沙雕而又有趣的憨憨少年,和大多数小伙伴们一样喜欢听歌游戏,当然除此之外还有写作的兴趣,,日子还很长,让我们一起加油努力叭话 ...
摘要:本文转载自微信公众号账号,作者为海航生态科技技术研究院大数据开发工程师高颜。文章介绍了海航生态科技舆情大数据平台的容器化改造经验,包括初期技术架构应用容器化架构迁移持续发布与部署。 本文转载自微信公众号Docker(账号:dockerone),作者为海航生态科技技术研究院大数据开发工程师高颜。 文章介绍了海航生态科技舆情大数据平台的容器化改造经验,包括初期技术架构、应用容器化、架构迁...
摘要:今天我就用爬取了一个斗图网站上的所有表情包,用来充实自己的表情包库。下载完所有图片,总共有思路主要通过解析页面的源代码来获取图片的地址,然后通过图片地址下载图片到本地,所以要学会使用浏览器进行分析。 跟朋友聊天总会用到大量表情包,有些人甚至专门收集各种各样的表情包,看看谁能打败谁。今天我就用java爬取了一个斗图网站上的所有表情包,用来充实自己的表情包库。代码逻辑有可能并不完美,哈哈,...
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
阅读 1692·2021-09-22 10:02
阅读 1933·2021-09-02 15:40
阅读 2838·2019-08-30 15:55
阅读 2248·2019-08-30 15:44
阅读 3595·2019-08-30 13:18
阅读 3228·2019-08-30 11:00
阅读 1948·2019-08-29 16:57
阅读 566·2019-08-29 16:41