前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬取表情包

Python爬取表情包

作者头像
stormwen
发布2019-08-05 11:33:16
1.1K0
发布2019-08-05 11:33:16
举报
文章被收录于专栏:公众号:googpy公众号:googpy

阅读本文大概需要 4 分钟。

自从读了研究生,和之前的同学聊天的机会就少了,不是说我高冷装逼,是研究生的生活确实是“三点一线”,每天都在食堂、实验室、宿舍之间来回转。每天除了看文献、就是做实验,真挺枯燥的,这不前两天一个好哥们主动找我聊天,还时不时给我发几张骚图,我想予以反击,一看表情库,真的是空空如也啊!

最近自己正好自学爬虫这部分知识,因此,我想能不能用爬虫抓取网页,获得表情包,经过自己一天的研究,终于能实现这个功能,下面大家看我演(zhuang)示(bi)。

前期准备

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

2.进去后,按F12打开开发者调试,抓取一张表情图片,会发现其实就是一个<img>标签:<imgsrc="https://imgsa.baidu.com/forum/w%3D580/sign=c72193ed33292df597c3ac1d8c335ce2/34f9a451f3deb48fdf9bf71cf91f3a292cf57801.jpg"size="38255" changedsize="true" width="560"height="560">

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

4.关于爬虫,虽然很有趣,但是操作起来并不容易,尤其是需要运用正则表达式知识,可以说一个爬虫的成功与否,正则表达式起了至关重要的作用,这里对正则还不熟悉的同学,可以看我之前写的正则入门的文章。

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

可以这样考虑:同一个图片的同类型img标签,按正常的写法<imgclass="BDE_Image",这部分是固定的;接着是src的资源路径,这是我们关注的重点;最后是width属性,height属性,这部分也不是固定的。

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

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

代码部分

运用结果

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档