香港马会开奖资料Python 爬取 3 万条游戏评分数据

更新时间:2019-10-09

  页面内一条游戏数据展示如下,显示出来的一条评论是游戏的点赞数最多的评论,我们分析需要的数据包括游戏名称、游戏类型、游戏平台、游戏评分、游戏评价人数及最热评价。

  浏览器中按F12打开开发者工具,选择NetWork-XHR,页面拉倒底部点显示更多,可以看到获取到的数据文件。

  右键打开后看到是游戏的信息,通过改变网址中more后面的数字,可以获取更多数据。但尝试之后发现,每次可以获取20条数据,more后面的数字最大可以设置为500,超过500后获取不到数据,也就是说最多能获取10000条数据,但底部total字段显示总的游戏数据有52049条。

  所以为了获取更多数据,我们分类型爬取数据,每次选中一个类型,重复上述过程,可以得到数据,观察后发现每个类型下的游戏数据都不超过10000条,这样每个类型的数据都能全部获取,最后把所有数据拼到一起即可。

  多尝试几次之后能看出规律:genres后面是游戏类型,动作类型对应的genres = 1,platforms后面是平台类型,q后面的是游戏名称关键字,sort后面是排序方式,默认是按评分排序,more后面是页码。

  所以我们需要知道每个游戏类型对应的数字,可以在开发者工具中选Element,用小箭头进行定位,快速获取所有游戏类型对应的数字:

  之后就可以用python中的request+json包循环获取数据了,代码附在最后。爬到的一条游戏数据样式如下:

  游戏类型因为已经我们已经分类型爬取,所以每次爬完之后用代码加上对应的类型即可,但能看到一个游戏可能对应多种类型,或者在多个平台上同时发布,所以在后面的分析中需要处理,其他字段分析中用不到。

  最终爬下来数据有31574条,还是没拿到所有5万条,这已经是最大可见数据条数了,数据样式如下:

  简单统计后发现,31574条数据中有17751条数据都是没有评分的,此外,由于一种游戏可能属于多个类别,所以一部分游戏是重复出现的,只有type不同。

  两幅图的5个变量(从左往右、从上至下)均为:星级、评分、评分人数、游戏名称长度、游戏发行平台数,加入游戏名称长度和发行平台数是想探究游戏名称的长度以及发行的平台数是否和游戏评分有一定的关系。

  动作、冒险、角色扮演、益智、策略类的游戏数量排到前5,第一人称射击、即时战略、音乐、乱斗/清版、射击类排到后5。

  不过射击类的游戏模式太过单一,数量确实比较少,高质量的射击游戏不外乎这两年火起来的吃鸡游戏,还有很早之前的CS系列。

  而动作、冒险、角色扮演类的游戏从世界观设定、剧情设计上都可以有很多新意,时不时会有一些让人眼前一亮的新作品,也很容易做成一个系列。

  各类型游戏的均分如下,无评分视为0时,由于各种游戏数量的差别,导致游戏数较少的类型平均分更高,但删掉无评分数据后,各种类型的评分基本是持平的,在7.5分上下波动。

  之前提到,一个游戏可能属于多个类别,比如仙剑同时属于角色扮演和冒险。对所有的游戏类别进行交叉分析,统计同时属于两个类别的游戏个数,结果如下:

  可以看到,动作+冒险,角色扮演+动作/冒险、横版过关+动作/冒险、益智+冒险 组合的游戏都是非常多的,动作、冒险大概是万能类别了。

  音乐旋律、竞速类的游戏跟其他类别交叉几乎没有,这两种类型游戏形式比较单一,大部分都是拼手速操作,各种游戏同质性比较高。侠盗飞车是其中少有的融合了动作冒险的经典竞速类游戏,但当年玩罪恶都市的快感似乎跟竞速没啥关系。

  游戏平台类型非常多,整体分为手机、电脑、游戏机三类,游戏机大部分是任天堂(Wii,GB)、索尼(PS)、微软(Xbox)的产品。

  之前提到,一款游戏可能同时在多个平台上发布,这给分析过程带来了一定难度,观察后发现,豆瓣的平台分布是越靠前的平台越大众化,所以对于有多个平台的游戏,取第一个平台,视为他的主要发布平台进行分析。

  鉴于平台数太多,我们把所有游戏数目小于100的平台汇总,记为“其他”,各个平台游戏数分布如下:

  PC游戏数超过总数的50%,除此外,大部分游戏在iphone,PS2,PS3上,没有Android的原因在于豆瓣上对于游戏平台把iphone放在Android前面,大部分手游是在这两个操作系统上同时发布的,之前的处理方法导致Android数目非常少归到了“其他”中去。

  删除无评分数据游戏后,各平台均分基本一致。其中均分最高的GB是任天堂1989年推出的Game Boy 游戏机,GBA是任天堂2001年推出的Game Boy Advanced游戏机。你可能没有用过这两款设备,但当中的经典游戏你一定玩过。

  各平台评分总人数来说,PC占据绝对优势,但平均人均数来看,人数最多的是PS4和Nintendo Switch。

  爬取下来的游戏名称中大部分同时包含中文、英文,这里我们只分析中文,香港马会开奖资料,将所有游戏名称拼到一起用正则提取其中的中文,去掉长度为1的词,和词频小于10的词,对剩下的高频词按词频做词云如下:

  词语能反映出游戏的世界观,大部分的游戏会用到战争、战士、传奇、联盟、幻想这样一些虚构的有奇幻色彩的词语,同时也不乏三国、火影等等一些源于历史、动漫、小说、电影作品的词。还有一些开门见山直接说明游戏形式的词语,比如迷宫、格斗、大战、足球等等。

  对游戏的整体分析只是统计分析的需要,但对一个游戏迷来说,只需要告诉他哪些游戏好就ok了,不好的游戏并不关注,我们提取所有游戏中评分超过9.5的部分,游戏类型分布如下:

  考虑到评分人数太少时,评分结果不一定具有代表性,所以我们只选择其中评分人数超过100的部分,共84款游戏汇总如下,看看有没有你玩过or你想玩的呢?