昨天朋友圈疯狂秀恩爱,晒出520红包!于是有人出来普法。..但是很多老兵连发红包的机会都没有。..为什么那么多优秀的学生还是单身?一、需求背景今天刷微博的时候,发现一个很有意思的话题#90后单身原因TOP3#七夕之际,一项全国90后青年婚恋观抽样调查公布了结果。结果显示,一线城市的单身人口比例持续领先。90后单身的三大原因:交际圈小、工作忙、爱情幻想太完美。单身的三大理由:圈子小、工作忙、爱情幻想太完美!朱大哥觉得这三个理由都不合理,单身不就是因为穷吗?2.功能描述好奇这个调查是怎么来的?真实性有待考证。正好这几天我们也学会了如何爬取微博话题。今天,就让我们来验证一下,为什么他如此优秀却依然单身!3.技术方案模拟登录微博爬取话题保存文件数据清洗数据分析4.模拟登录模拟登录说爬取之前#周杰伦超话#这里就不赘述了,直接贴代码!五、爬取话题1、找到话题加载数据urlhttps://m.weibo.cn/api/contai...2、代码模拟请求数据爬取数据还是使用requests库,这次猪哥请求的是当时加了一个参数:timeout,这个是为了防止一个没有响应的请求发出请求,阻塞其他请求!3、提取微博内容如果要提取微博内容,需要了解请求返回的数据格式。了解了数据格式后,我们就可以写代码提取我们想要的微博内容了!上图中,我们已经获取到了微博内容,但是网页标签还是比较多的。让我们使用正则表达式去除网页标签并从开头的主题开始!4.保存文件微博内容提取出来后,我们来保存!6.批量爬取批量爬取涉及到分页。上次我们超话周杰伦,它的分页机制是:微博超话分页机制:按照时间分页,每条微博都有一个since_id,时间越大since_id越大,所以当since_id传入的时候发出请求,会加载对应topic下小于since_id的微博,然后重新获取最小since_id,传入最小since_id,一个一个请求,所以至于实现topic的分页,分页机制也是这样的吗?我们对比一下第一个请求和第二个请求的url,我们发现普通topic的分页机制是采用pages的形式。好像微博对于不同级别的话题有不同的分页机制!页面形式的分页机制,我们之前讲过很多情况,直接通过for循环传入i,这个i就可以作为页面了!7、数据分析数据分析我们使用pyecharts库,这是一个非常好用的可视化分析库!先读取数据,然后使用jieba库进行分词和数据清洗,最后使用pyecharts库进行展示!此前的调查结果显示,单身的三大原因是:圈子小、工作忙、对爱情的幻想过于完美。我们的数据分析结果好像是这样的!之前说过大家都单身是因为穷,但好像只有朱哥一个人穷啊!源码地址:https://github.com/pig6/weibo...
