知乎人均985?Python爬50W數據,BI做出可視化後,我有了答案

2021-01-08 數據分析不是個事兒

一次完整的python數據分析流程是怎麼樣的?

使用python從網站抓取數據,並將這些數據保存到SQLite資料庫中,然後對數據進行清洗,最後對數據進行數據可視化分析。

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

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

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

一、我們想要哪些數據?

知乎用戶的學校和公司肯定是首當其衝的,我想看看到底這些人是編的還是真的哈哈哈。

其次就是性別,職業,地理位置,活躍程度等,統統扒個遍。

二、爬取的過程

知乎現在改用https請求了,數據加密,但是問題不大,重要的是網頁數據改動了,而且在請求時後臺會對爬蟲做一些判斷,因此在每次請求是都需要加上request header,儘可能接近瀏覽器請求的樣子。

得到列表頁的源碼後,你可以從其中獲取到每個問題的連結:

每頁有20個問題,所以你可以獲得到20個問題的連結,之後就是對每個問題的處理:

能實現到這一步,剩下的就是循環、判斷和一些細節了。

最終一部分的代碼如下:

import requests

import pandas as pd

import time

headers={

'authorization':'',#此處填寫你自己的身份驗證信息

'User-Agent':''#此處填寫你自己瀏覽器的User-Agent

}

user_data = []

def get_user_data(page):

for i in range(page):#翻頁

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)

response = requests.get(url, headers=headers).json()['data']

user_data.extend(response) #把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'參數是為了解決中文亂碼的問題

print(df)

更多原始碼見文末!

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

三、用BI進行數據可視化分析

現在我們已經進行到最後一步用BI開始做數據可視化了,揭秘知乎的時刻就要到來了。

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

首先在官網下載FineBI,雖說是企業級的數據分析平臺,但是它對於個人是永久免費的,文末給大家準備了下載連結~

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

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

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

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

四、知乎的數據可視化

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

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

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

再來看看具體的排名吧:

杭州處在第三名了,果然網際網路的發源之地之一不是吹的,阿里網易起到了很大的作用,為什麼這麼說?等你看到職業就明白了。

2、他們都是哪些學校的?

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

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

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

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

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

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

3、知乎的職業比例

除去學生之後,我們發現知乎的人都是....

產品經理最多,這是最近幾年最火爆的職業吧,不過話說你的文檔寫好了?需求畫好了?是不是知乎的頁面交互你不太滿意?不然還不去幹活?

可以看到,除了一些網際網路公司的常見職位外,教師和律師用戶在知乎中也佔據不小的比重。

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

總結

我分析了這麼多,不是想告訴你們知乎的用戶到底怎麼怎麼樣,而是想說如果想做數據分析,FineBI確實是一款很好用的工具,對個人和對企業都是這樣。

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

相關焦點

  • 爬取拉勾網數據並進行數據可視化
    數據清洗其實會佔用很大一部分工作,我們在這裡只做一些簡單的數據分析後入庫。在拉勾網輸入python相關的職位會有18988個。', index=False)四、數據可視化展示下面是對數據的可視化展示,僅以部分視圖進行一些可視化的展示,如果讀者想對其他欄位做一些展示以及想使用不同的視圖類型進行展示,請自行發揮,註:以下代碼中引入的模塊見最後的完整代碼
  • Python爬取知乎9674個問答,揭秘最受歡迎的98本書
    數據獲取雖說知乎有個「閱讀」的話題,但是我看了一下裡面的問題不全是推薦書的,若是都爬取下來可能80%的數據都是與書籍推薦無關的。以前總覺得爬數據最難,只要爬下來了,一切好說!直接這樣分析的話就相當於丟失了將近一半的數據!除非……除非我有一個圖書庫,裡面有所有書的書名,這樣我只要遍歷每個答案,如果Ta提到了這本書,就把這個書名提取出來,最後再統計分析就好啦!然而,那句話怎麼說來著,想像很豐滿,現實很骨感。我並沒有這樣的圖書庫。
  • Python爬取股票信息,並實現可視化數據
    前言截止2019年年底我國股票投資者數量為15975.24萬戶, 如此多的股民熱衷於炒股,首先拋開炒股技術不說, 那麼多股票數據是不是非常難找, 找到之後是不是看著密密麻麻的數據是不是頭都大了?今天帶大家爬取雪球平臺的股票數據, 並且實現數據可視化先看下效果圖
  • 13分鐘,教你python可視化分析20W數據,找到妹子最愛的內衣
    我打開某寶首頁,頓時想對某些商品的評論進行一次爬取分析。一提到爬取,我們肯定先想到python,那可真的是利器,不過我提醒一句,不允許爬的千萬不要碰。python雖然爬取簡單,但是做可視化分析需要費不少力氣,雖然有 Matplotlib 和 Seaborn 兩個包就足夠了。
  • 僅用半小時,從Python爬取到BI可視化,告訴你深圳房價有多貴
    深圳的房價大家也知道,最近幾年漲的厲害,3萬一平都買不到什麼好房子,其實看到這個情況,我著實為下一代擔心,月入2W的應屆畢業生寥寥無幾,就是進了大廠賺到了錢,面臨的壓力也是非常大,最後買房就變成了掏空兩個家庭一輩子的事情。今天是周五,閒來無事,我就用Python爬點深圳房價的數據,然後做出可視化分析分析吧。
  • Python數據可視化,我是如何做出泡泡堆積關聯圖
    > 數據可視化 > mpl轉發本文並私信我"python",即可獲得Python資料以及各種心得(持續更新的)行3:原數據有多餘的列圖形屬性映射數據可視化的本質,實際是數據到圖形元素的映射。
  • Python爬蟲實戰簡單分析知乎用戶粉絲
    相關文件關注微信公眾號: python工程獅 ,回覆:&34;環境搭建pip install echarts-china-cities-pypkgpip install pyecharts原理簡介感覺很多爬過知乎的人應該都知道
  • Excel、python、BI工具,誰才是數據分析的老大?
    我覺得現在數據行業的人,都有一點滿瓶不動半瓶搖的意思,懂一點知識,掌握一個入門工具,看了幾篇所謂的大數據洞察文章,就洋洋自得。譬如還在爭執python和R哪個好,決策樹和貝葉斯哪個準,寫代碼的就要鄙視用excel拉透視圖的,會算法的就一定要鄙視做報表的等等。
  • Python爬取近十年TIOBE程式語言熱度數據並可視化
    本文介紹如何利用requests+正則表達式爬取TIOBE程式語言熱度數據,並使用openpyxl寫入數據與pyecharts時間輪播圖進行可視化。,利用正則表達式提取出想要的數據,並保存到Excel中,便於後續數據處理和可視化。
  • Python爬取中國各省疫情確診人員數據生成可視化中國地圖界面
    大家好,接下來我們用python爬蟲技術爬取中國各省疫情確診人員數據,得到數據後自動生成中國地圖可視化界面。可視化界面運用pyecharts模塊、selenium中的webdriver第一:首先分析要爬取的網頁(百家號不可粘貼具體地址,見圖吧)爬取思路:通過分析網頁的原始碼
  • 數據分析——有哪些讓你不得不服氣的神邏輯?(知乎)
    1,前序本篇文章爬取了知乎上的 有哪些讓你不得不服氣的神邏輯?的答案,一共爬取了100條數據左右,分別收集了答題者名字、粉絲數量、性別、頭像圖片連結,答案評論數、點讚數等方面數據,剛好自己最近在學 matplotlib 和 pandas;就利用這些數據做了個簡單分析,鞏固一下知識!
  • Python爬取股票信息,並實現可視化數據!人人都是巴菲特?
    前言截止2019年年底我國股票投資者數量為15975.24萬戶, 如此多的股民熱衷於炒股,首先拋開炒股技術不說, 那麼多股票數據是不是非常難找, 找到之後是不是看著密密麻麻的數據是不是頭都大了?今天帶大家爬取雪球平臺的股票數據, 並且實現數據可視化
  • Python爬取周杰倫的200首歌+BI可視化分析,青春好像又回來了
    友情提醒:文末有福利近年來程序界最火的事情是什麼?,那肯定是Python的興起。據調研,Python已經成為排名前三的語言,具體排在第幾相信各位心中肯定有自己的評判標準,這裡不挑口水戰了。那Python到底為什麼這麼火?首先上手很快,對於新手來說是最簡單的入門語言;第二,能爬取信息,並且能做可視化分析。
  • 如何選擇數據分析可視化工具?Excel, Tableau還是Power BI?
    Excel中的「股票」和「地理」等選項有助於快速獲取數據的詳細信息。通過Tableau和Power BI,你可以自由瀏覽數據而無需提前知道所需的答案。可以先發現關聯和趨勢,然後深入了解導致其發生的原因。這些系統能一目了然地了解數據。3.
  • 從Python到豌豆BI——我的年中報告數據可視化升級之旅
    所以這一次可以升級一下,是不是用Python或者其他數據分析工具露一手,也算一次項目實踐。於是,我找信息部門的同事導來幾份數據,但是由於有多年歷史數據需要分析,csv文件導出大概有300多兆,試著用excel看看,一打開直接掛了。。。正無限在響應中。算了,這麼大的數據量,正好用回Python。
  • Python爬蟲教程 Python爬取股票數據過程詳解
    這篇文章主要介紹了基於Python爬取股票數據過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下基本環境配置python 3.6一切的一切都在圖裡找到數據了
  • 知乎高贊:985計算機視覺畢業後找不到工作怎麼辦?
    新智元帶你看看這個70萬瀏覽量問題下的答案乾貨:找工作難,是因為前兩年AI領域泡沫太大。然而,真正的人才什麼時候都緊缺,搞紮實自己的基本功比什麼都重要。心態放平,好好刷leetcode,好offer總在不遠處。 計算機視覺畢業後找不到工作怎麼辦? AI專業畢業後是不是找不到工作?近日,有知乎網友提問,獲得了70萬閱讀量。
  • 超硬核的 Python 數據可視化教程
    開運張 | 作者知乎專欄 | 來源https://zhuanlan.zhihu.com/p/55642042Python實現可視化的三個步驟:確定問題,選擇圖形轉換數據,應用函數參數設置,一目了然matplotlibpython中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,然後開始做縱向與橫向拓展。
  • 如何利用Python批量爬取人民幣外匯數據並整理儲存可視化
    一、需求由於該網站(http://www.safe.gov.cn/safe/rmbhlzjj/index.html)日期選擇最長間隔只能90天,因此如果手動點擊下載表格,需要多次選擇日期,並且將多個表格手動合併後存入資料庫。
  • 知乎高贊:985計算機視覺畢業後找不到工作怎麼辦?怒刷leetcode...
    新智元帶你看看這個70萬瀏覽量問題下的答案乾貨:找工作難,是因為前兩年AI領域泡沫太大。然而,真正的人才什麼時候都緊缺,搞紮實自己的基本功比什麼都重要。心態放平,好好刷leetcode,好offer總在不遠處。   計算機視覺畢業後找不到工作怎麼辦?   AI專業畢業後是不是找不到工作?近日,有知乎網友提問,獲得了70萬閱讀量。