一个完整的python数据分析流程是怎样的?使用python从网站抓取数据,将数据保存到SQLite数据库,然后清洗数据,最后对数据进行数据可视化分析。但是熟悉的应该都知道,python爬取虽然简单,但是分析起来却非常困难。SQL语句,Pandas和Matplotlib很繁琐,一般人都不知道。于是想到了一种更简单的数据分析方式,就是python爬取+BI分析。什么是BI我就不用多介绍了。Python强大的数据采集能力,结合AgileBI简单快速的数据可视化操作,分析效果一定很赞!那么这一次,我们就来看看知乎“人均985,年薪百万”背后的秘密?话不多说,让我们爬山吧!1、我们要什么数据?知乎用户的学校和企业首当其冲。我想看看这些人是编的还是真的哈哈哈。二是性别、职业、地理位置、活动水平等,统统捡起来。2、爬取过程知乎现在使用https请求,数据加密,问题不大。重要的是网页数据发生了变化,后台在请求的时候会对爬虫做一些判断,所以每次请求总是需要加上一个请求头,尽量接近浏览器请求的内容。得到列表页的源码后,可以从中得到每个问题的链接:每个页面有20个问题,所以可以得到20个问题的链接,然后可以对每个问题进行处理:可以实现了这一步,剩下的就是循环,判断,还有一些细节。最后部分代码如下:importrequestsimportpandasaspdimporttimeheaders={'authorization':'',#这里填写你自己的认证信息'User-Agent':''#填写你浏览器的User-Agent}user_data=[]defget_user_data(page):foriinrange(page):#turnpageurl='https://www.zhihu.com/api/v4/members/excited-vczh/followees?include=data%5B*%5D.answer_count%2Carticles_count%2Cgender%2Cfollower_count%2Cis_followed%2Cis_following%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&offset={}&limit=20'.format(i*20)response=requests.get(url,headers=headers).json()['data']user_data.extend(response)#向user_data添加响应数据print('抓取页面%s'%str(i+1))time.sleep(1)#设置抓取网页的时间间隔为1秒if__name__=='__main__':get_user_data(10)df=pd.DataFrame.from_dict(user_data)#将数据存入字典df.to_csv('zhihu.csv',encoding='utf_8_sig')#保存到用户名为zhihu的csv文件中,encoding='utf_8_sig'parameter是解决中文乱码问题的print(df)更多源码见文末!Python代码中,我没有使用线程池,而是使用了10个main()方法进行爬取,即10个进程,历时4小时,爬取了57w+Data3.使用BI进行数据可视化分析走到最后一步,开始使用BI进行数据可视化了,揭秘知乎的时候到了。市场上有很多种BI工具。国外的Tableau和国内的FineBI都是BI领域的佼佼者。不过早就听说Tableau适合基础数据分析师,对小白不太友好。另外前天偶然看到了IDC的报告,发现帆软的市场份额是第一。为了避免返工,我选择了FineBI这个敏捷工具,事实证明我的选择是对的。首先在官网下载FineBI。虽然是企业级数据分析平台,但对个人永久免费。文末为大家准备了下载链接~然后直接通过FineBI提供的数据配置终端功能添加SQL数据集(或者直接添加表也行),查看验证数据是否正确刚刚抓取并存储到数据库中,实际上已经成功存储到MySQL中了。忘了说了,FineBI的一大特色就是自助分析。什么是自助服务分析?自己拖拽数据就可以达到和Matplotlib一样的效果。大家可能还会想到Excel,但是一般都是几万行数据,Excel基本无能为力,很卡。但是,FineBI仍然可以流畅地处理大数据,效率可能要高出几十倍、几百倍。同时,VBA的一个致命弱点是它只能基于excel内部进行自动化,除此之外别无他法。写这篇文章之前,我对房价和销量进行了分析,特意做成了动图供大家参考:**推荐:020持续更新,精品圈每天都有新内容,干货集中度极高.建立联系,讨论技术,你想要的都在这里!成为第一个加入团队并超越同行的人!(入群不收费)点此与Python开发高手交流学习。群号:745895701免费申请:Python软件安装包,免费提供Python实用教程资料,包括Python基础学习、进阶学习、爬虫、人工智能、自动化运维、自动化测试等**四、知乎数据可视化FineBI的仪表盘可以自行拖放调整组件的位置,并配备了各种类型的直方图、饼图和雷达图。数据可视化就是这么简单,只有想不到,没有做不到。1、哪个城市的知乎用户最多?从词云图可以看出,城市越繁华,知乎的用户越多(文字越大,占比越大)。所以也可以看出,以北上广深四大一线城市为中心,新一线城市紧随其后。换句话说:知乎上的人大多在一线城市或者新一线城市,真是见多识广啊!我们来看看具体排名:杭州位居第三。果然,互联网的发源地之一不是吹牛的地方。阿里网易起了不小的作用。你为什么这么说?看到职业就明白了。2.他们属于哪些学校?看看,看看,这度数真高,谁说人均985是吹牛?但知乎主要是高级知识分子的聚集地,学生玩手机的时间比上班族多也就不足为奇了。分析完学校,我们就要看看各高校玩知乎的男女比例:不用我说你也能猜到,蓝色代表男生,女生不是逛街就是读书,鞠躬他们的脑袋肯定是个玩手机的男生哈哈哈(虽然我也是男的)。下面我们来看看各地区有哪些高校是知乎的重度用户。颜色越深,学校的知乎用户越多:别说了,知乎人均985是实锤。我流下了羡慕的泪水。请问同学们,你们是如何兼顾玩和学的?如果你教我,我的高考可能会更接近清华的录取分数...3.知乎的职业比例剔除学生后,我们发现知乎的人是...最多的产品经理,这是知乎上最热门的职业最近几年,不过顺便说一句,你的文件写了吗?要求是不是画出来的?对知乎的页面交互不满意?否则,你为什么不去上班?可以看到,除了一些互联网公司的常见职位,教师和律师在知乎中也占据了很大的比重。我们再用一张热图观察一下知乎主流职业(前四)在各个地区的分布情况。颜色越深,那个职业的人越多:总结,我分析了这么多,不是说你知道用户是什么样的,而是你要说,如果你要做数据分析,FineBI是确实是一个非常有用的工具,无论是对个人还是对企业。当然以上只是FineBI的冰山一角,更多的东西还需要大家自己去探索。
