自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

大數(shù)據(jù) 后端
一次完整的python數(shù)據(jù)分析流程是怎么樣的?使用python從網(wǎng)站抓取數(shù)據(jù),并將這些數(shù)據(jù)保存到SQLite數(shù)據(jù)庫中,然后對數(shù)據(jù)進行清洗,最后對數(shù)據(jù)進行數(shù)據(jù)可視化分析。

一次完整的python數(shù)據(jù)分析流程是怎么樣的?

使用python從網(wǎng)站抓取數(shù)據(jù),并將這些數(shù)據(jù)保存到SQLite數(shù)據(jù)庫中,然后對數(shù)據(jù)進行清洗,最后對數(shù)據(jù)進行數(shù)據(jù)可視化分析。

可是熟悉的人應(yīng)該知道,python爬取簡單,但是分析起來是很困難的,SQL語句、Pandas和Matplotlib這些十分繁瑣,一般人也不會。

于是我想到了用一種更簡單的方式進行數(shù)據(jù)分析,那就是python爬取+BI分析。什么是BI就不用我多做介紹了吧,python強大的數(shù)據(jù)獲取能力,配合敏捷BI簡單快捷的數(shù)據(jù)可視化操作,分析效果那肯定是杠杠的!

那這次我們就來看看“人均985,年薪百萬”的知乎背后,到底有什么秘密?話不多說,開爬!

一、我們想要哪些數(shù)據(jù)?

知乎用戶的學(xué)校和公司肯定是首當(dāng)其沖的,我想看看到底這些人是編的還是真的哈哈哈。 

其次就是性別,職業(yè),地理位置,活躍程度等,統(tǒng)統(tǒng)扒個遍。

二、爬取的過程

知乎現(xiàn)在改用https請求了,數(shù)據(jù)加密,但是問題不大,重要的是網(wǎng)頁數(shù)據(jù)改動了,而且在請求時后臺會對爬蟲做一些判斷,因此在每次請求是都需要加上request header,盡可能接近瀏覽器請求的樣子。

得到列表頁的源碼后,你可以從其中獲取到每個問題的鏈接: 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

每頁有20個問題,所以你可以獲得到20個問題的鏈接,之后就是對每個問題的處理: 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

能實現(xiàn)到這一步,剩下的就是循環(huán)、判斷和一些細節(jié)了。

最終一部分的代碼如下:

  1. import requests 
  2. import pandas as pd 
  3. import time 
  4. headers={ 
  5.     'authorization':'',#此處填寫你自己的身份驗證信息 
  6.     'User-Agent':''#此處填寫你自己瀏覽器的User-Agent 
  7. user_data = [] 
  8. def get_user_data(page): 
  9.     for i in range(page):#翻頁 
  10.         url = '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) 
  11.         response = requests.get(url, headers=headers).json()['data'
  12.         user_data.extend(response) #把response數(shù)據(jù)添加進user_data 
  13.         print('正在爬取第%s頁' % str(i+1)) 
  14.         time.sleep(1) #設(shè)置爬取網(wǎng)頁的時間間隔為1秒 
  15.  
  16. if __name__ == '__main__'
  17.     get_user_data(10) 
  18.     df = pd.DataFrame.from_dict(user_data)#以字典保存數(shù)據(jù) 
  19.     df.to_csv('zhihu.csv',encoding='utf_8_sig')#保存到用戶名為zhihu的csv文件中,encoding='utf_8_sig'參數(shù)是為了解決中文亂碼的問題 
  20.     print(df) 

更多源代碼見文末!

在Python代碼中我并沒有采取線程池,而是采用了開起10個main()方法去抓取,即10個進程,歷時4個小時,爬取了57w+數(shù)據(jù)。 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

三、用BI進行數(shù)據(jù)可視化分析 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

現(xiàn)在我們已經(jīng)進行到最后一步用BI開始做數(shù)據(jù)可視化了,揭秘知乎的時刻就要到來了。

市面上的BI工具有很多種,國外的Tableau和國內(nèi)的FineBI都是BI領(lǐng)域的領(lǐng)先者,但早就聽說Tableau適合有基礎(chǔ)的數(shù)據(jù)分析師,對于小白很不友好。再加上我前天偶然間看到了IDC的報告,發(fā)現(xiàn)帆軟的市場占有率是第一,為了避免回爐重做,我選擇了FineBI這款敏捷工具,事實證明,我的選擇是對的。 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

首先在官網(wǎng)下載FineBI,雖說是企業(yè)級的數(shù)據(jù)分析平臺,但是它對于個人是永久免費的,文末給大家準(zhǔn)備了下載鏈接~

然后直接通過FineBI提供的數(shù)據(jù)配置端的功能,添加SQL數(shù)據(jù)集(或者直接添加表也行),查看和驗證剛剛爬取并且入庫的數(shù)據(jù)是否已經(jīng)真正成功入庫到MySQL中了。 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

忘了說,F(xiàn)ineBI的一大特點就是自助分析。什么叫自助分析?就是我自己拖拖拽拽數(shù)據(jù),就可以有和Matplotlib一樣的效果,你也許還會想到Excel,但一般幾萬行的數(shù)據(jù)以上,excel基本就無能為力,很卡。但是FineBI處理大數(shù)據(jù)依然可以行云流水,效率高幾十倍上百倍都有可能。

同時VBA有個致命弱點是,它只能基于excel內(nèi)部進行自動化,其他方面就沒辦法了。

我在寫這篇文章之前,分析過房價和銷售額,特地把它做成了動圖供大家參考: 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

 知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

四、知乎的數(shù)據(jù)可視化

FineBI的儀表板可自行拖拽調(diào)整組件位置,配上多種類型的柱狀圖、餅圖、雷達圖,數(shù)據(jù)可視化就是這么輕而易舉,只有你想不到,沒有它做不到。 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

1、哪個城市的知乎用戶最多? 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

從云詞圖中我們可以看出,城市越繁華,知乎的用戶人數(shù)就越多(文字越大,比重越大)。所以也可以看見北上廣深四個一線城市處于最中心,新一線城市緊隨其后,換句話說:知乎的人大部分在一線城市或者新一線城市,果然是見多識廣!

再來看看具體的排名吧: 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

杭州處在第三名了,果然互聯(lián)網(wǎng)的發(fā)源之地之一不是吹的,阿里網(wǎng)易起到了很大的作用,為什么這么說?等你看到職業(yè)就明白了。

2、他們都是哪些學(xué)校的? 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

你看看,你看看,這學(xué)歷真的很高,誰說人均985都是吹的? 

[[286040]]

不過也不奇怪,知乎主打的就是高知識份子的聚集地,而且學(xué)生比起上班族,有更多的時間玩手機。

既然分析到學(xué)校了,我們肯定要來看看各個高校上玩知乎的男女比例: 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

不用我說你們就可以猜到,藍色代表的是男生,女孩子要么在逛街,要么就在學(xué)習(xí),低頭玩手機的肯定是男孩子哈哈哈(雖然我也是男的)。

我們再來看看各地區(qū)有哪些高校是知乎重度用戶,顏色越深代表該學(xué)校的知乎用戶越多: 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

別說了,知乎人均985實錘了,我流下了羨慕的淚水,我想請問同學(xué),是怎么做到玩和學(xué)習(xí)同時兼顧的?你如果教教我,我高考距離清華的錄取分?jǐn)?shù)線可能就更近一點了....

3、知乎的職業(yè)比例

除去學(xué)生之后,我們發(fā)現(xiàn)知乎的人都是.... 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

產(chǎn)品經(jīng)理最多,這是最近幾年最火爆的職業(yè)吧,不過話說你的文檔寫好了?需求畫好了?是不是知乎的頁面交互你不太滿意?不然還不去干活? 

[[286042]]

可以看到,除了一些互聯(lián)網(wǎng)公司的常見職位外,教師和律師用戶在知乎中也占據(jù)不小的比重。

我們再用一張熱力圖來觀察知乎主流職業(yè)(前四名)在各個地區(qū)的分布情況,顏色越深,代表該職業(yè)在該地區(qū)的人數(shù)越多: 

知乎人均985?Python爬50W數(shù)據(jù),BI做出可視化后,我有了答案

總結(jié)

我分析了這么多,不是想告訴你們知乎的用戶到底怎么怎么樣,而是想說如果想做數(shù)據(jù)分析,F(xiàn)ineBI確實是一款很好用的工具,對個人和對企業(yè)都是這樣。

當(dāng)然了,上面才只是FineBI的冰山一角,更多的東西還得你們自己去探索。

 

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2020-01-18 10:27:07

簡書知乎Python

2017-11-10 14:12:35

2020-06-05 14:07:20

可視化數(shù)據(jù)Python

2019-11-08 09:47:16

知乎Python數(shù)據(jù)

2017-05-24 15:07:19

Python爬蟲爬取

2018-11-30 10:28:44

Python反爬網(wǎng)頁

2020-10-31 17:13:04

Python可視化Seaborn

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2021-07-27 11:45:37

Python 開發(fā)編程

2023-05-08 16:29:34

2015-11-26 10:41:38

數(shù)據(jù)可視化

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2022-08-26 09:15:58

Python可視化plotly

2018-07-11 12:30:51

編程語言Python數(shù)據(jù)可視化

2019-01-16 18:34:37

Python 開發(fā)數(shù)據(jù)

2022-02-23 09:50:52

PythonEchartspyecharts

2020-05-26 11:34:46

可視化WordCloud

2020-06-30 15:50:16

MySQL速度執(zhí)行

2018-11-12 09:00:33

2023-11-16 11:34:05

BI大數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號