专栏首页iOS开发干货分享Python爬虫一键爬取海量表情包,分分钟碾压斗图狂魔!【附源码】

Python爬虫一键爬取海量表情包,分分钟碾压斗图狂魔!【附源码】

点击上方蓝字关注 学Python不迷路

一、前言

有时候我不是很理解聊天斗图的现象,年轻人也就罢了,但我这种四十多岁的圈子里,居然还盛行聊天斗图这种风气…一把年纪了还当斗图狂魔…

他们的图怎么就这么多?结果一问,每个人手机里都专门存了几十张表情包,有的人甚至存了上百张…原来这就是他们“嚣张”斗图的原因?!

我想了想,斗图不就是比谁的表情包多吗?那谁能比我们程序员表情包多?爬虫一爬就是成千上万张!

今天就教大家一招用Python爬虫一键爬取海量表情包,分分钟碾压那些斗图狂魔!并附上源码。

二、思路解析

1.创建请求头,也被称为伪装浏览器

可能有些同学会问了,什么是请求头啊。请求头其实就是一个用户代理,在请求头中是包含了当前用户的操作系统版本信息以及当前用户访问网站所使用的浏览器版本信息。

那么为什么要创建请求头呢,因为在网站访问的过程中,有大部分网站会对当前请求做验证,来判断当前的请求是否合法(不是使用浏览器来获取网站数据的话会被认为非法请求)。如果不添加请求头的话,可能会出现当前网站没有访问权限。

创建方法:

1.打开浏览器

2.按住f12

3.选中NetWork选项卡

4.点击筛选出来的链接(链接选择随意)

5.找到user-agent选项并复制

'user-agent': 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36'

2.使用requests 网络请求库完成网站数据请求

当我们创建完成请求头之后就需要访问网站拿到网站的页面数据了,那么如何获取网站数据呢,这时候就需要使用requests来帮助我们获取了。

在使用requests之前,需要先下载安装。

下载安装命令:pip install requests -i https://pypi.douban.com/simple

安装完成之后我们就可以使用requests了,使用方法:

requests.get(‘https://fabiaoqing.com/biaoqing/lists/page/1.html’, headers=headers).text

在获取网页数据的时候,需要调用http协议中的get方法来获取页面数据,一般情况下会返回html页面源代码

需要传入的参数:网站的域名以及请求头

如果想获取文本数据,那么就调用requests中内置的text方法返回文本数据,如果想要获取二进制数据则使用内置的content方法。

3.获取数据后使用bs4对页面数据进行提取

因为一个页面包含的数据太多了,例如:搜索框、页面广告、ICP备案号等等。但是我们只是想要获取页面中的表情包图片,那该怎么办呢?这时候我们就需要用到一个非常好用的第三方包:bs4

使用方法:

(1)在浏览器中按住f12调出开发者工具,点击Elements,之后点击元素选择器(左边的小箭头),之后选中页面上的图片,左键点击。浏览器就会帮助我们定位图片所在html代码的位置

(2)看到被选中的标签后,查看当前图片的元素标签,当前标签是img,观察当前标签中的属性,有一个class属性,复制该属性的值

(3)调用方法:find_all(‘img’, class_=‘ui image lazy’),调用之后会返回图片标签的列表

(4)对列表进行循环,将img标签中的data-original属性的值提取出来

(5)提取完成之后将会获得当前页面所有的图片标签,我们对当前获取的链接进行二次请求并使用python内置的with open方法将图片数据下载到本地

至此,一个简单的微信表情包爬虫就制作完成。

三、源码

以下是代码的截图,代码源文件请在后台回复关键字“爬表情包”自助领取。

end

本文分享自微信公众号 - web前端小剧场(webxiaojuchang)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python数据科学(五)- 数据处理和数据采集1.处理不同格式的数据2.网络爬虫3.小试牛刀

    最近因为工作的事比较忙,要学的东西也很多,没有及时更新,下一阶段我会尽力一天一更的,一块学习的朋友跟紧不走丢ヽ(ˋ▽ˊ)ノ

    Python攻城狮
  • 为什么你会被限制登录网页版微信?

    有一个词叫做“三月爬虫”,指的是有些学生临到毕业了,需要收集数据写毕业论文,于是在网上随便找了几篇教程,学了点requests甚至是urllib和正则表达式的皮...

    青南
  • 词云图:论一个精致猪猪男孩的数据修养

    “词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过...

    用户1621951
  • Python爬取B站5000条视频,揭秘为何千万人为它流泪

    导语:我们特邀作者Yura爬取B站5000条视频,为你揭秘电影《哪吒》的更多“优秀梗”,看完还能Get新技能,赶快往下滑吧。

    AI科技大本营
  • 爬虫入门到放弃01:你好,爬虫!

    18年初,还在实习期的我因为工作需求开始接触Java爬虫,从一个网站爬取了163W条poi数据,这是我人生中写的第一个爬虫,也是唯一的一个Java爬虫。后来这些...

    叫我阿柒啊
  • 北京房租大涨?6个维度,数万条数据帮你揭穿

    2018年8月初,有网友在“水木论坛”发帖控诉长租公寓加价抢房引起关注。据说,一名业主打算出租自己位于天通苑的三居室,预期租金7500元/月,结果被二方中介互相...

    接地气的陈老师
  • 大规模爬虫流程总结

    爬虫是一个比较容易上手的技术,也许花5分钟看一篇文档就能爬取单个网页上的数据。但对于大规模爬虫,完全就是另一回事,并不是1*n这么简单,还会衍生出许多别的问题。...

    小莹莹
  • 在知乎上学 Python - 爬虫篇

    知乎是个好地方。虽然近年来,为了吸引更多的用户,知乎的定位与早期略有点偏离。但从内容质量和专业性来说,知乎仍然是国内数一数二的知识型社区。不少同学都是通过知乎发...

    Crossin先生
  • Python爬取B站5000条视频,揭秘为何千万人看「哪吒」流泪

    导读:《哪吒》看哭了无数人!有很多小朋友,一开始他们还被太乙真人的滑稽,逗得哈哈笑。到了哪吒成魔要杀父亲、跪别父母、因为宿命不得以和敖丙为敌时,影院里突然安静下...

    华章科技
  • 爬虫抓取技术

      互联网数据很多,发现好内容并能持续不断的抓取是一项不简单的工作。 反反爬虫 爬虫的固定套路也就那么多,各种网站爬取策略的不同就在于网站的反爬虫机制不同,因此...

    杉枫
  • python爬虫教程:《利用Python爬取表情包》

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

    python学习教程
  • Python爬虫系列(一)初期学习爬虫的拾遗与总结(11.4更)

    ---- 最近,为了提取裁判文书网的有关信息,自己迈入Python的学习之路,写了快两周的代码,自己写这篇文章总结下踩过的坑,还有遇到一些好的资料和博客等总结下...

    致Great
  • 大数据倒在2019

    2019年9月6日,第三方数据风控公司魔蝎数据和新颜科技的相关负责人在同一天被警方带走调查,由此拉开了行业大整顿的序幕,聚信立、天翼征信、公信宝、同盾科技子公司...

    数据猿
  • 当你点开这首《八月》的歌:9400余条评论的分析与挖掘

    八月伊始的当口,念想着:新的一个月了,是否有关于八月的歌呢,闲时也蛮想找来听下的。说来也怪,哪个月都不曾有过此念头,这回却“突发奇想”且又念念不忘,于是打开网易...

    古柳_DesertsX
  • 教程|Python Web页面抓取:循序渐进

    今天,要为大家带来Python中Web页面的抓取教程。许多人看到代码就觉得头疼或是特别困难,其实Web爬虫是非常简单的。Python是面向对象的语言,而且与其他...

    Oxylabs
  • Python之Scrapy海报资源海量下载

    今天小编给大家带来的是使用 Python 的 scrapy 框架快速写一个“千图网”的海报原图下载的爬虫,可以给设计专业的相关的人下载图片参考设计海报,也可在活...

    用户6825444
  • 北京房租大涨 ?6个维度 ,数万条数据帮你揭穿 。

    8月初,有网友在“水木论坛”发帖控诉长租公寓加价抢房引起关注。据说,一名业主打算出租自己位于天通苑的三居室,预期租金7500元/月,结果被二方中介互相抬价,硬生...

    小小詹同学
  • 为爬虫获取登录cookies:登录的恩恩怨怨

    讲到的新闻爬虫,是基本不受目标服务器限制的爬虫,技术上的挑战主要在抓取任务的管理、分配,并发的使用,提高效率等方面。而实际中,不同抓取目标的爬虫会遇到很多阻碍,...

    一墨编程学习
  • Python 6个维度,数万条数据帮你揭秘房租大涨

    8月初,有网友在“水木论坛”发帖控诉长租公寓加价抢房引起关注。据说,一名业主打算出租自己位于天通苑的三居室,预期租金7500元/月,结果被二方中介互相抬价,硬生...

    龙哥

扫码关注云+社区

领取腾讯云代金券