为了账号安全,请及时绑定邮箱和手机立即绑定

七夕过后,你有分析过自己单身的原因吗?

标签:
Python

将裸睡的猪设为置顶 追剧不如追爬虫

昨天的朋友圈都在丧心病狂的秀恩爱,秀520红包!于是就有人出来普法教育。。。

https://img1.sycdn.imooc.com//5d4d7ffa0001ffd810801920.jpg

可是还有更多老铁连发红包的机会都没有。。。

https://img1.sycdn.imooc.com//5d4d800d0001555305291600.jpg

为什么这么多如此优秀的同学都还是单身呢?你有分析过自己单身的原因吗?

一、需求背景


今天逛微博的时候发现一个有趣的话题#90后单身原因TOP3#

七夕之际,一份针对全国90后青年婚恋观进行抽样调查公布了结果。结果显示,一线城市单身占比持续领先。90后单身原因TOP3:圈子小、工作忙、对爱情幻想过于完美


单身的三大原因:圈子小、工作忙、对爱情幻想过于完美

猪哥觉得这三个原因都并不合理,难道单身的原因难道不是因为吗?

二、功能描述


好奇这个调查是怎么来的?猪哥认为真实性有待考证,刚好这几天我们也学习了如何爬取微博话题,今天就来分析一下为何很多同学如此优秀却依然单身!

三、技术方案


  1. 模拟登录微博

  2. 爬取话题

  3. 保存文件

  4. 数据清洗

  5. 数据分析

四、模拟登录

模拟登录之前讲爬取#周杰伦超话#的时候已经讲过了,这里就不再重复,直接贴出代码!

https://img1.sycdn.imooc.com//5d4d8034000102c306900313.jpg

五、爬取话题

1.找到话题加载数据url

https://img1.sycdn.imooc.com//5d4d804200018c9406910354.jpg

https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D61%26q%3D%2390%E5%90%8E%E5%8D%95%E8%BA%AB%E5%8E%9F%E5%9B%A0TOP3%23%26t%3D0&isnewpage=1&extparam=pos%3D41%26c_type%3D31%26realpos%3D40%26flag%3D0%26filter_type%3Drealtimehot%26cate%3D0%26display_time%3D1565179797&luicode=10000011&lfid=106003type%3D25%26t%3D3%26disable_hot%3D1%26filter_type%3Drealtimehot&page_type=searchall

2.代码模拟请求数据

我们依然使用requests库来爬取数据,这次猪哥在请求的时候增加了一个参数:timeout,这样做是为了防止请求某个一直没有应答导致堵死其他请求!

https://img1.sycdn.imooc.com//5d4d805000010a0806840415.jpg

3.提取微博内容

要想提取微博内容就需要了解请求返回的数据格式

https://img1.sycdn.imooc.com//5d4d805d0001937506910370.jpg


了解数据格式之后我们就可以写代码提取我们想要的微博内容啦!

https://img1.sycdn.imooc.com//5d4d806d0001ea1d06820436.jpg


上图我们已经拿到微博内容,但是还有很多网页标签,我们来用正则将网页标签去掉,和开头的话题开头!

https://img1.sycdn.imooc.com//5d4d807a0001c86906850432.jpg

4.保存文件

微博内容提取出来之后,我们将他们保存起来!

https://img1.sycdn.imooc.com//5d4d808a0001952306790418.jpg

六、批量爬取


批量爬取就涉及分页,上次我们将周杰伦超话时,它的分页机制是:

微博超话分页机制:根据时间分页,每一条微博都有一个since_id,时间越大的since_id越大所以在请求时将since_id传入,则会加载对应话题下比此since_id小的微博,然后又重新获取最小since_id将最小since_id传入,依次请求,这样便实现分页


那这个话题的分页机制也是这样的吗?我们来对比一下第一次请求与第二次请求的url

https://img1.sycdn.imooc.com//5d4d80990001395b06870388.jpg

我们发现普通话题的分页机制竟然是page的形式,看来微博对不同级别的话题有不同的分页机制!

page形式的分页机制,之前我们讲了很多个案例,直接for循环传入i,而这个i就当作page就可以啦!

https://img1.sycdn.imooc.com//5d4d80ac0001140f06830428.jpg

七、数据分析


数据分析我们采用pyecharts库,这是一个非常好用的可视化分析库!

https://img1.sycdn.imooc.com//5d4d80ba000146f206520406.jpg


先读取数据,然后使用jieba库进行分词和数据清洗,最后使用pyecharts库做展示!

https://img1.sycdn.imooc.com//5d4d80c8000102ef06520404.jpg

之前调查结果显示单身的三大原因是:圈子小、工作忙、对爱情幻想过于完美。在我们数据分析得出的结果好像确实如此!

之前猪哥说大家
单身是因为穷
看来只有猪哥穷

【完】

裸睡的猪(ID:IT--Pig)

作者:猪哥-Pythoner,禁止未授权转载,授权请私聊




点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消