如何使用python爬取數據並進行可視化顯示?

Jamal123


這裡介紹一個簡單地例子,如何從一步一步爬取數據到可視化顯示,主要用到requests+BeautifulSoup(爬取數據)+pyecharts(可視化)這3個包,實驗環境win10+python3.6+pycharm5.0,主要步驟如下:

1.為了方便演示,我們這裡以人人貸上面的債權數據為例,如下,主要爬取借款標題和金額這2個字段,後面也是以這2個字段數據作為統計和可視化的基礎:

2.分析這個頁面可知,數據是異步加載的,在一個json文件中,如下,對應到json中,也就是title和amount這2個字段的內容:

3.針對這個json文件,主要解析代碼如下,主要用到json這個包,代碼很簡單,也就十幾行而已,主要基於dict字典按借款類型統計數據:

運行代碼,程序截圖如下,已經成功爬取到了我們要打印的內容:

4.可視化顯示,這裡主要用到pyecharts這個包,使用起來很簡單,主要基於web瀏覽器進行顯示,圖片很美觀,我這裡可視化顯示,主要用到柱狀圖、餅狀圖和漏斗圖3種類型的圖,如下:

  • 柱狀圖,這裡主要統計了每種借款類型的最大金額和最小金額,代碼量很少,如下,爬取了前10頁數據做統計:

程序運行截圖如下,已經成功顯示出每種借款類型最大值和最小值:

  • 餅狀圖,這裡主要統計了每種借款類型金額的綜合,代碼如下,也是前10頁數據:

程序運行截圖如下,每種借款類型所佔比例都已顯示出來:

  • 漏斗圖,這裡主要按每種借款類型的總額做了一個排序,主要代碼如下:

程序運行截圖如下,已經成功畫出了漏斗圖,可以清晰地看出每種借款類型對應的位置:

至此,我們就完成了數據的爬取和可視化顯示。基本流程都是3步,爬取數據->統計數據->可視化顯示,我這裡以這3個包為例,你也可以使用其他的包,像爬蟲scrapy,可視化matplotlib,seaborn等,數據統計處理numpy,pandas等,這裡就不詳細介紹了,只要你有一定的python基礎,多加練習一下,很快就能掌握的,網上也有相關教程,希望以上分享的內容能對你有所幫助吧。


小小猿愛嘻嘻


分為三步:

  1. 爬取數據
  2. 分析數據
  3. 可視化

爬取數據

從網站爬取數據的Python庫有一大堆,其中最流行的是Scrapy。

Scrapy上手很容易,有圖為證:

你看,寥寥幾行代碼就完成了從安裝到編寫爬取代碼到運行爬蟲的全過程。

簡單解釋下上面的代碼:從blog.scrapinghub.com爬取博客文章的標題,會通過訪問下一頁的鏈接遍歷整個博客。

注意,Scrapy無法爬取一些動態內容。你需要搭配Selenium之類的工具解析出動態內容後,再讓Scrapy爬取。

分析數據

主要使用numpy和pandas.

pandas的主要數據結構是DataFrame,你可以把它理解為表格,每行是一個數據點/記錄/觀測,每列是一項特徵/屬性。

而numpy則主要用於數值計算。

可視化

最流行的Python可視化庫是matplotlib。不過,matplotlib有時候寫起來有點繁瑣,所以一般用seaborn。seaborn是基於matplotlib的高層封裝。

當然,seaborn也沒有完全取代matplotlib,某些場景還是需要用下matplotlib的。


分享到:


相關文章: