Python爬取表情包

温馨提示:阅读文本大概需要4分钟。


Python爬取表情包


疫情期间,没有复工,亲朋好友各个群聊中一言不合就斗图,想要予以反击无奈没图可斗,因此,我想能不能用爬虫抓取网页,获得表情包,经过自己一天的研究,终于能实现这个功能,下面大家看我演(zhuang)示(bi)。

前期准备

1.我主要用到的是百度贴吧中的“表情包吧”,访问地址是:http://tieba.baidu.com/p/5059180075

2.进去后,按F12打开开发者调试,抓取一张表情图片,会发现其实就是一个标签:<imgsrc>


Python爬取表情包

3.通过对爬虫工作原理的了解,知道了需要做的就是抓取页面的所有图片的src资源路径:https://imgsa.baidu.com/forum/w%3D580/sign=c72193ed33292df597c3ac1d8c335ce2/34f9a451f3deb48fdf9bf71cf91f3a292cf57801.jpg

4.关于爬虫,虽然很有趣,但是操作起来并不容易,尤其是需要运用正则表达式知识,可以说一个爬虫的成功与否,正则表达式起了至关重要的作用。

首先运用正则表达式把页面所有标签筛选出来,那在html文件里匹配标签的正则表达式该怎么写呢?

可以这样考虑:同一个图片的同类型img标签,按正常的写法<imgclass>

对于固定部分保持不变,src部分的匹配表达式可以这样写:([^”]*\\.jpg),解释一下这段正则表达式,其中[]表示的是或,‘’值的是空字符,^指的是取反,所以[^‘’]指的是生成的字符类包含除了‘’的所有字符集合。*指匹配前面的[^”]0次或多次。此外还用到了()进行了分组。

最后,对于width和height部分,正则表达式:.*?

代码部分

Python爬取表情包

运用结果


Python爬取表情包

看到这么多表情包,真香!妈妈再也不用担心我和你们斗图了!


Python爬取表情包

感兴趣的同学,私信回复「表情包」即可获得源码,大家抓紧试试吧!

"/<imgclass>


分享到:


相關文章: