「全民k歌」有什么秘密?网站数据分析之数据获取

news/2024/5/13 5:18:34/文章来源:https://blog.csdn.net/weixin_34061555/article/details/90334696

最近看到身边好几个朋友都在用“全民K歌”这款软件在手机上K歌,使用频率还是很高,于是就想来看看全民K歌平台的用户究竟是一群什么样的用户?他们有什么样的特征。然后进行数据分析,强化自己的分析思维与实战能力。这一个过程我将会分为四个部分来写:数据获取,数据清洗,数据的呈现,分析报告的撰写。本文是第一部分。

「全民k歌」有什么秘密?网站数据分析之数据的获取

python爬虫获取用户数据

进入用户的个人中心,下面的图中画方框的地方就是我们需要获取的数据:

「全民k歌」有什么秘密?网站数据分析之数据的获取

接下来我们看一下这些数据的存储方式,打开nt之后我们可以看见这些数据都存储在网页中,这样就非常容易获取了,这里需要注意的有两点:一个是年龄和地址,这两者需要在获取之后分开进行存储,便于后面分析(粉丝数,关注数也是同理);另外一点就是性别问题,在网页中我们没有发现直接指示性别的关键词,其实这里的性别是存放在画红色圈中的class的名字里面的“icon icon_boy”如果是女孩则是“icon icon_girl”,这里获取之后我们用split去掉无关字符,只取boy和girl关键词。

「全民k歌」有什么秘密?网站数据分析之数据的获取

我们直接用BeautifulSoup来获取这些数据:

「全民k歌」有什么秘密?网站数据分析之数据的获取

这些数据也就是我们最终需要的数据,我们将他们存放在Mongodb数据库中,以便于后面的分析与导出:

「全民k歌」有什么秘密?网站数据分析之数据的获取

「全民k歌」有什么秘密?网站数据分析之数据的获取

通过分析我们发现每一个用户的个人主页链接都仅仅只是ID不同,我们将这些ID也存放起来,方便后面获取这些用户所唱的歌曲,这个后面获取到id之后直接传回来就可以获得这个用户的个人信息了。

获取多个用户的数据

为了获得更多用户的数据,我们需要从用户A进入它的粉丝页面,获取粉丝的ID,然后再进入粉丝B的个人主页获取用户的信息,再从这些粉丝的主页获取他们的粉丝。类似一个递归的形式,思路是这样,但在后面实际运行的时候,python老师出错,个人感觉应该是堆栈溢出了,目前还是没有搞定,但是可以获取粉丝的二级列表,对于目前的分析来说,已经足够了。

「全民k歌」有什么秘密?网站数据分析之数据的获取

在用户的粉丝页面我们看到用户的粉丝列表是逐步加载的,也就是异步加载的形式,我们就只能来抓包了。

「全民k歌」有什么秘密?网站数据分析之数据的获取

我们可以看见用户的粉丝数据是用json形式存储的,在每一次加载,一共加载20名粉丝的信息,这里我们只获取uid标签的值。接下来问题来了,我们获取的只是用户的前20名粉丝,如何获取其他的粉丝呢?方法肯定就是替换链接了,经过反复的查找,发现在已有的链接中每次加载变化的起作用的字段就是这个红色圈内的字段:

「全民k歌」有什么秘密?网站数据分析之数据的获取

但是这样的一个数据是从哪里来的呢?如果是随机生成的就没有办法了获取下一级列表了。经过查找,我们发现这个last_tm的值在上一级的数据中存放着。这一下就好办了,只需要在第一次获取用户id的同时,将last_tm的值也同时获取下来,下一次加载时,直接掉用即可。

「全民k歌」有什么秘密?网站数据分析之数据的获取

我们知道了如何分页,如何获取存储的数据,那么到底该循环多少次才能把所有的用户都获取下来呢?在最开始,我们已经知道了用户粉丝有多少,那么分多少也不就简单了。用粉丝数除以每页粉丝数20然后取整就是我们的循环次数了。

下面是获取用户粉丝的代码:

「全民k歌」有什么秘密?网站数据分析之数据的获取
粉丝列表分页获取

「全民k歌」有什么秘密?网站数据分析之数据的获取
获取每一个粉丝的id

「全民k歌」有什么秘密?网站数据分析之数据的获取
进入粉丝二级列表

最后一共只爬取了8671条用户数据,数据量还是比较少,但做分析之用,基本够了。

「全民k歌」有什么秘密?网站数据分析之数据的获取
存储的数据

python爬虫获取歌曲数据

在上面我们已经获得了8千多位用户,那么这些用户平时都喜欢唱什么歌,他们的活跃频率如何,这些都可以从用户发布的歌曲中获得一些信息。

「全民k歌」有什么秘密?网站数据分析之数据的获取

这里是歌曲页的数据获取情况,其中最为重要的就是画红色圈的部分了,因为这一部分数据显示了用户的活跃时间,已经所使用的手机型号,这个手机型号在一定程度上就代表了这个用户的特征,所以这个数据是极为重要的。

「全民k歌」有什么秘密?网站数据分析之数据的获取

同样的,这些歌曲的列表是用异步加载的形式显示的,我们直接来 抓包:跟上面一样是用json来存储信息的,我们直接解析获取,对于手机型号这一部分没有的,待会儿单独获取。

「全民k歌」有什么秘密?网站数据分析之数据的获取

「全民k歌」有什么秘密?网站数据分析之数据的获取

下面就是翻页的问题了,我们打开heahers查看链接比较之后发现每翻一页,连接中start便加1,而每一页有8条数据,这样一来每一个用户的作品我们需要翻的页数就是作品数除以8取整即可。

「全民k歌」有什么秘密?网站数据分析之数据的获取

最后我们单独用一个函数来获取时间信息:

「全民k歌」有什么秘密?网站数据分析之数据的获取

最后将所获得的数据存放起来即可。

这里再次注明一点,这里用的用户都是之前已经获取的用户他们所唱的歌曲,我将他们从CSV文件中读取了用户的id和作品数,传给这个程序使用。

「全民k歌」有什么秘密?网站数据分析之数据的获取

最后获取到了84万条数据,数据的样式如下:

「全民k歌」有什么秘密?网站数据分析之数据的获取

总结

这次数据的抓取遇到最大的一个坎就是在做用户的粉丝翻页的时候,一直没有找到last_tm这个 数据,导致翻页做不成,搞了好长时间。当时都已经放弃了,隔了一天之后再去看,突然在前一页中发现了第二页的last_tm,那一刻真的是挺开心的。

另外在数据的抓取过程中,最好的就是在最初数据存储的时候就经历将数据清洗好,比如那些不该有的字段都提前去掉在存储,多个数据在一起的也尽量拆开再存储,以便于后面的数据分析。



本文作者:橘子侠

来源:51CTO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_805770.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能制造类汽车类网站

1.3D打印与汽车制造网站:3D造--https://www.3dzao.cn/articles/case/list.html?tags12872&pn1 2.电子发烧友论坛:汽车电子技术论坛板块 3.中国汽车工程学会:http://www.sae-china.org/ 中国汽车工程学会(SAE-China)成立于1963年,是由中…

大型网站架构系列:电商网站架构案例(2)

电网网站架构案例系列的第二篇文章。主要讲解网站架构分析,网站架构优化,业务拆分,应用集群架构,多级缓存,分布式Session。 五、网站架构分析 根据以上预估,有几个问题: 需要部署大量的服务器&a…

细节决定网站的用户和流量

“一个好网站让人喜爱,一个差网站让人厌恶”,你知道好网站的标准是什么,那又知不知道什么网站让人反感吗?你的建站审美不代表用户的赞同。好网站的细节处理你需要注意的: 1.自动播放音乐、声音,&#xff08…

网站seo优化教你如何引蜘蛛爬行网站

1、 网站和页面的权重 这个是咱们都知道的,网站和页面的权重越高的话,蜘蛛一般会匍匐的越深,被蜘蛛录入的页面也更多一些。可是一个新的网站,权重到达1的话是相对简单的,可是假如想要把权重再网上添加则会越来越难。 2…

自定义网站404页面

404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面,简单的说就是当别人访问你网站的某一个已经删除或不存在的网页的时候,服务器自动显示的页面。404页面对seo是有一定…

Django中使用后台网站模板

背景: 一直想自己开发一个网站,但是前端知识又不多,好在有模板可以使用,下载地址:https://download.csdn.net/download/wjgccsdn/10843808 开干: 环境: win 10 python 2.7 Django 1.11 pycharm …

网站一直优化不动,是不是被惩罚?

SEO是一个千变万化的工作,你的每一个优化策略,都决定网站不同的走向,在很长一段时期中,我们通常会遇到各种问题,比如:网站一直优化不动。 长期停留在某个阶段,这让SEO人员,显得无所…

第三章 大型网站核心架构要素

内容梳理 架构,通俗的说法是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 软件架构,维基百科定义,“有关软件整体结构与组件的抽象描述,用于指导大型软件系统…

优秀网站设计:打造有吸引力的网站(原书第3版)

《优秀网站设计:打造有吸引力的网站(原书第3版)》基本信息原书名:Web Style Guide, 3rd Edition作者: (美)Patrick J. Lynch Sarah Horton 译者: 李静丛书名: UI设计丛书出版社:机械工业出版社ISBN:9787111…

分享一些好用的网站

前言 这两年收藏了不少网站,特地整理一下,把一些大家都可能用得上的分享出来,希望能对你有用。 考虑到有一些网站大多数人都知道,所以我就不列出来了。 我把这些网站分为了几大类: 工具类素材类社区类工具类 1、start.…

【青松资讯】Anonymous匿名者黑客组织公布攻击新目标:100家中国政府网站

去年年底我们曾经发送一篇推文,简单介绍了Anonymous匿名者黑客组织的前世今生以及其为OpIcarus 2018所做下的累累恶行。 但你以为这就是全部了么? △2019年新年伊始,意大利警察工会遭到匿名者的攻击。 匿名者组织入侵了该网站的后台&#x…

中国铁路 12306 网站全新改版升级:支持扫码登录

开发四年只会写业务代码,分布式高并发都不会还做程序员? 中国铁路官方宣布,全新改版升级的中国铁路 12306 网站将于11月3日(即今天)正式上线运营,网站客运服务功能更趋完善,旅客购票将更加方便…

Java生成sitemap网站地图

访问我的博客 sitemap 是什么?对应没有接触过网站 SEO 的同学可能不知道,这里引用一下百度站长的一段解释。 Sitemap(即站点地图)就是您网站上各网页的列表。创建并提交Sitemap有助于百度发现并了解您网站上的所有网页。您还可以使…

好域名怎么选?总结15名网站大佬给我的8条建议!(精华)...

写网站上线的文章中提到需要有域名,本来是想在百度里搜一篇“选域名方面”的文章链接过去就好,但是看了好几篇,讲的都太笼统了,看完不知所云,一看就是“互相借鉴”的文章。所以我问了身边的几十位大佬,让他…

网站分析实战--如何以数据驱动决策,提升网站价值(大数据时代的分析利器)...

《网站分析实战--如何以数据驱动决策,提升网站价值》(大数据时代的分析利器)基本信息作者: 王彦平 吴盛峰 出版社:电子工业出版社ISBN:9787121193125上架时间:2013-1-10出版日期:201…

nginx首登网站数量市占宝座 挑战Apache地位

网络资安公司Netcraft释出2019年4月的网页服务器调查结果,发现nginx成为网站数量市占率第一名。Netcraft在四月收集了14亿网站的回应,其中包括了2.3亿个不重复网域,以及接近900万台的网页用计算机。比起三月的调查,Netcraft可以取…

网站推荐:一路收藏的正能量网站

我喜欢的教育、学习、在线阅读网站 [网易公开课] 在土豆网上可以搜索到海量的公开课视频,iTunes也是,里面可以找到很多公开课,比如我随意搜索的一些,在iTunes里面有一个University部分,里面有太多资源,不赘…

textarea 手机端无法换行_北易信息:企业如何做好移动端网站seo关键词优化

如今移动互联网已经是越来越重要,移动网络发展也是越来越快速,人们都离不开了手机。企业的推广也从PC端转移到了移动端,但是做过推广的企业都知道PC端和移动端是不互通的,所以企业想做好移动端的网站优化是有难度的,移…

直接访问静态图片_网站设计:关于axure原型预览文件访问慢的原因

一、背景最近发现原来的原型预览访问速度超级慢,这一切貌似是最近调整了下Axure原型中的几个元件,上传之后,原本访问超级快的文件,变的超级超级慢。 二、原因分析过程 1、首先直接从服务器角度找原因。自认为服务器可能是宽带不够…

国微大学php,国微CMS学校网站系统(学校版) v20191205

国微CMS学校网站系统是一个以phpMySQL进行开发的学校网站系统。国微CMS学校网站系统特点:系统体系化:模块化体系:所有功能均已系统化、模块化、插件化,如CMS、问答、广告、标签。用户体系: 不仅区分企业、个人&#xf…