Python爬取并简单分析鱼油数据

2018-09-21 15:36:11 浏览数 (5270)

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

导语

利用Python爬取并简单分析鱼C论坛的鱼油数据。因为不想影响论坛的正常运作,给论坛服务器带来不必要的压力,所以爬虫代码里写了很多sleep语句,花了大概一个星期的时间凑了40万条数据(然后数据清洗的时候发现大部分数据是无效的T_T)。因为数据都在相关文件里提供了,所以就不要自己重新爬了,因为论坛仿佛没有什么反爬措施,所以爬虫代码并没有什么学习价值,随便瞟一眼就行了。

OK,让我们愉快地开始吧~


相关文件

网盘下载: https://pan.baidu.com/s/1AEzG2gOOpO47Kl9ORnfSxg 
提取码: yk8n

开发工具


Python版本:3.6.4

相关模块:

requests模块;

fake_useragent模块;

pyechart模块;

以及一些python自带的模块。

环境搭建


安装Python并添加到环境变量,pip安装需要的相关模块即可。


原理简介


其实爬虫的文章我一般写的比较水,然后偶尔瞅了瞅别人的文章,发现基本是数据获取,清洗,最后可视化分析这个流程,于是打算稍微模仿一下,虽然我可能还是会写的比较随意and极其不专业。


数据获取:

这部分很简单,鱼C论坛每个鱼油的个人主页除了uid不同,其他都是一样的:



挨个请求每个鱼油个人主页的url,然后把返回的内容保存起来就可以了:



最后获得的数据大概这么多,一共40万条左右吧,虽然大部分是无效的。



数据清洗:

接下来我们从每个鱼油的个人主页中提取一些有用的数据,例如性别、生日、出生地、学历等内容,具体代码实现如下:



最后剩下的数据大概这么多:



他喵的这也太真实了吧,最后大概只剩下了1万多条数据,简直了。然后我去看了下,发现很多鱼油的主页是这样的:


还有很多uid是无效用户:



本来想重新爬的,后来感觉还得拖几天太麻烦了,算了,就这样吧,1万条数据也是数据啊,反正估计全爬完也没多少数据。


数据可视化分析:

首先,让我们来看看鱼C论坛鱼油们的男女比例吧:



Emmmm,原来论坛里还是有女生的,我一直以为是没有女生的。

OK,接下来我们来看看论坛里的鱼油学历分布情况吧:



竟然有将近200个博士,惊讶ing。

OK,接下来我们来看看论坛鱼油们的省份分布吧,这里只统计了国内的鱼油:



看了鱼C论坛的鱼油们来自五湖四海,当然在广东省的鱼油是最多的,目测论坛的坛主小甲鱼应该是广东人吧。

再接下来,我们来看看鱼C论坛鱼油的年龄分布吧:


估计论坛里的鱼油大部分还是90后的学生党吧,虽然90后大多应该已经毕业了。

最后,我们再来看看论坛里哪个鱼油比较土豪吧,也就是鱼币和C币最多的鱼油,统计结果如下图所示:


本来想再分析分析技术值最高的鱼油之类的,不过饭点到了,那就算了吧T_T。感兴趣的同学可以自己下载数据继续分析分析。

嗯,就这样吧,至少这类文章的写作步骤应该模仿对了,完整源代码和数据详见相关文件。


更多

代码在2018年9月14日前测试无误