需求分析
昨天,我被一个妹子嘲笑了,“仙草,你天天聊天,怎么连一个表情包都没有啊?每次发也是用系统推荐的默认表情,和一个土狗似的,笑死人了。”
啊这,确实,我从来都不保存表情,所以每次聊天要么就是转发别人的,要么就是输入几个字,看看系统会不会给我推荐表情,确实是有点不太行
我虚心请教(中路对狙),“那你的表情包是哪里来的啊?不会是和别人聊天的时候偷来的吧,那可是有够丢脸的呢!“
妹子不屑一顾,”切,你说的什么啊,看到好看的表情收藏起来不是很正常的事情吗?像你一样没几个好友,恐怕也没有表情可以收藏吧?“
好吧,我想她说的没错。可是谁说收藏表情一定要通过和别人聊天呢?我们可以直接通过python的爬虫程序,把表情包爬取下来!
实现分析
说干就干,不就是爬取表情吗,有什么困难的,等我把表情包收集齐了,我就是最靓的仔了。三十年河东,三十年河西,莫欺少年没有图
那么首先呢,我们遇到了第一个小困难就是,我们需要知道表情包的类型。就是说,不是所有的表情包都是gif动图,肯定还有png格式的静态图,我们如何区分动图和静图,也就是说,如何区分图片的类型呢?
一个好的想法就是,通过正则表达式,把.png,.jpg,.gif的格式类型匹配出来,然后就能够知道对应的类型了。不过呢,写正则表达式有点麻烦,我想偷懒,于是就采用了一个更简单的方法,也就是说,反正.png,.gif都是4个字母的,那我们就直接把后四个字符取出来不就解决了吗?
好吧,但是偷懒也是有代价的,这个方法看起来很简单,实则不行,因为结尾的格式一定是4个字符的吗?比如说,如果遇到了.jpeg,怎么办呢?是不是程序就出错了呢?不要紧,我已经去查看过了,目标中没有.jpeg格式的文件。但是现在没有就能保证程序不出错了吗?当然不,如果以后有了.jpeg怎么办呢?是不是就立刻出错了呢?
对,说的没错,但是我就是不改,不过把我问题已经告诉你了,你可以自己尝试对其进行简单的修改,比如说加上一个if判断,或者是正则表达式来改正这一错误
完整代码展示
imp