我摊牌了,熬夜用Python给女神冰冰做了一个相册!发现...
微博,作为当下主流的社交平台之一,日活跃用户高达2亿多人。人们可以在微博上发表自己的感悟,自己的照片以及日常的生活内容。微博为广大的用户提供了更加多元化的社交平台。
相比于微信,许多小姐姐们更喜欢在微博上同大家分享自己日常生活中的照片。比如菜鸟哥,就非常喜欢冰冰小姐姐。今天就带大家一起,手把手的抓取冰冰小姐姐的微博图片,并保存到本地。一起来看看吧。
00.整体的思路:
01.微博主页信息
对于微博网页的抓取,很多小伙伴都是通过网络抓包的方式,来获取图片的链接地址,从而获取图片。
通过抓包的方式来获取图片的链接,非常的麻烦,而且容易被反扒。其实我们可以通过微博的API接口来获取用户的微博的内容。例如,获取微博用户的基本数据,我们只需要知道用户的微博。
例如我们打开冰冰酱的网页版微博(https://weibo.com/u/6512991534)。其中的6512991534就是微博id。我们可以打开她的网页地址,返回的就是冰冰微博的主要信息内容:
由于数据是以Unicode的编码显示,而且杂乱无章。没关系,我们通过将数据进行下载,然后进行整理。结果如下图所示:
经过解析后的数据,可以清晰的看出,微博的主要信息包含了用户的名称,微博的头像地址,以及性别,粉丝数量等重要信息。通过程序,我们同样可以模仿浏览器来向接口请求结果,并解析数据。
上图程序中,通过self.get_data函数来获取网页的json数据,并进行解析,获取得到json_data数据。(28-29行)
接下来,就是获取json_data数据中的关键信息,包括微博的头像地址,微博主页网址等信息(31-41)。
在返回的json_data数据中,包含着一项重要的内容:“containerid”。通过containerid信息,我们才能进行后续的微博详情页面的抓取。因此,我们要提取出containerid数值,并返回containerid(42-46)。
当执行上述的函数时,得到用户微博的主要信息。结果如下:
上图函数中,展示的是self.get_data函数。函数的主要作用就是向指定的网页url请求数据。
函数中,通过设置ProxyHandler,来设置我们自己的http代理(18-20行)。
函数通过urllib库来获取数据,然后将获取得到的数据进行返回(21-22行)。
02.微博详情页抓取
上面的程序,提供的是用户的微博主要内容信息,那么接下来,就是最重要的微博详情的抓取,包括微博相册以及发布的微博内容信息。
在函数get_weibo中,首先通过self.get_user_info 函数获取得到了containerid的数值(第51行)。
接下来在while循环中,利用containerid以及用户的微博id数值以及微博的页数来构造出网页详情的链接地址(第54行)。
利用self.get_data函数来获取网页返回的json数据,并解析获取得到cards字典(56-58行)。
如果cards的长度大于0,表明该页微博中有微博动态信息,接下来就可以按照字典的操作方式,来层层获取数据,包括微博的文字内容,以及微博动态的点赞数,评论数等信息内容(60-71行)。
如果mblog中的“pics”值不为None,那么就说明,该条微博动态中包含图片信息,大家就可以提取对应的图片链接地址,并将图片下载到本地文件夹内(72-80行)。
03.保存为相册
最后,将提取到的文字信息,打印到终端当中。这里我们关注的是图片的内容,而不是其他的文本信息,因此不需要将抓取到的文本信息进行保存等特殊的处理。
运行上述函数,我们就可以又快又准的抓取冰冰小姐姐的微博相册了。我们一起来看看抓取的结果吧。
如果你也是冰冰的fans,欢迎在留言区吱一声哦,说说你的想法哦。我们月底会给经常来留言打卡的同学送书10本,记得常来指导工作哦!
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
量化: 定投基金到底能赚多少钱? | 我用Python对去年800只基金的数据分析
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析| 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记灯谜答题王 |用Python做个海量小姐姐素描图碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
年度爆款文案
1).卧槽!Pdf转Word用Python轻松搞定!
2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃
3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密
4).80行代码!用Python做一个哆来A梦分身
5).你必须掌握的20个python代码,短小精悍,用处无穷
6).30个Python奇淫技巧集
7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货
8).再见Python!我要学Go了!2500字深度分析
9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片
点阅读原文,看Python全套!
我摊牌了,熬夜用Python给女神冰冰做了一个相册!发现...相关推荐
- python 微信bot_我做了一个Python Bot,可以解决任何给定图像中的多项选择问题。 码]...
python 微信bot 在这篇文章中,我将向您展示如何使用Python构建自己的答案查找系统. 基本上,这种自动化可以从图片中找到多项选择题的答案. 一件事很清楚,在考试期间不可能在互联网上搜索问题 ...
- 为了让大家更好地学习python爬虫,我们做了一个“靶子”
1 很多学习 python 的同学应该都听说过"网络爬虫"的概念,也可能听说过用 python 写网络爬虫很方便. 那么什么是爬虫?百度百科上是这么定义的: 网络爬虫(又称为网页蜘 ...
- 使用 Python 为女神挑选口红 ,成功把女神拿下,你学会了吗
口红对于女生来说永远不嫌多,而男生也搞不明白珊瑚红.番茄色.斩男色等等颜色有什么区别,不都是红色么?当送给女神的口红是她不适合的,那结果就是口红进入垃圾箱还算是轻的,重则拉黑处理.男生们也不用着急,我 ...
- python写一个表白程序_用Python个女神做一个表白神器
用Python给女神表白 情人节刚刚过去,但男同胞们对女神的暗恋愈加热烈,想尽一切办法表白,今天,咱们就用Python制作一个表白神器. 程序介绍 运用pygame制作一个小游戏,当女神用鼠标点击&q ...
- python制作表白神器_用Python个女神做一个表白神器
用Python给女神表白 情人节刚刚过去,但男同胞们对女神的暗恋愈加热烈,想尽一切办法表白,今天,咱们就用Python制作一个表白神器. 程序介绍 运用pygame制作一个小游戏,当女神用鼠标点击&q ...
- Python什么都能做(二)用Python画微信新出的表情包
11月18日,微信团队又推出了六张全新的小表情,可爱而有趣的表情瞬间火爆了大家的微信好友圈,也毫无疑问的登上了微博热搜榜的首位.各大明星纷纷效仿表情包,引发了一波全民的娱乐小高潮. 腾讯推出的新表情包 ...
- python 获取集合里面的某一个元素
python 获取集合里面的某一个元素,想想呢集合是不支持所以,切片,相加,相乘操作的, 所以想获取集合里面的某一个元素需要转化下思路,比如把即可转成列表然后在利用索引获取 例如: list_a = ...
- python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例
在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...
- 重庆python就业工资待遇-重庆达内毕业的Python学员都在做什么?能拿多少工资?...
都说现在Python是最值得学习的语言,但仍然有不少学员有疑问,Python学完到底可以做什么?工资又能拿到多少呢? 今天,我就给大家看看已经毕业了的达内Python学员们都在做什么,都拿到了多少薪资 ...
最新文章
- 构建区块链数字货币交易平台服务器的选择
- 今天悄悄的给你说几个HashCode的破事。
- 计算机网络(一)计算机网络概述、组成、功能分类、性能指标 | 思维导图
- 7-8 InputMismatchException异常 (20 分)
- poj 2528 Mayor's posters(线段树+离散化)
- java 变量的调用方法_java类变量的调用方式
- 有感于去哪儿的一道笔试题
- 物理层接口特性、数据通信模型、物理层基本概念(数据、信号、码元 、信源、信道、信宿 、速率、波特、带宽)...
- 中国甲状腺功能减退药行业市场供需与战略研究报告
- 频谱仪使用方法图解_安全继电器工作原理、接线图、使用方法图解
- GANs之信息量、信息熵、交叉熵、KL散度、JS散度、Wasserstein距离
- Sublime Text3配置LaTeX环境及使用Sumatra PDF作为阅读器——亲测可用
- 【180620】小人物走路、奔跑的VC++游戏特效
- iOS 适配iPhone XR/XS/XS MAX
- Windows操作系统注册表registry
- github修改语言设置
- 【小程序】常见系统API | 页面分享 | 位置信息 | 本地存储
- Java锁与线程的那些“不可描述”的事儿
- 有财学院http://www.godgold.com/learn/title_asp/index.html
- HiveSQL一天一个小技巧:如何借助于str_to_map进行行转列