web scraper 抓取數據並作簡單數據分析

其實 web scraper 說到底就是那點兒東西,全部的網站都是大同小異,可是都還不一樣。這也是好多同窗老是遇到問題的緣由。由於沒有統一的模板可用,須要理解了 web scraper 的原理而且對目標網站加以分析才能夠。web

今天再介紹一篇關於 web scraper 抓取數據的文章,除了 web scraper 的使用方式外,還包括一些簡單的數據處理和分析。都是基礎的不能再基礎了。選擇這個網站一來是由於做爲一個開發者在上面買了很多課,還有個緣由就是它的專欄也比較有特色,須要先滾動加載,而後再點擊按鈕加載。數據庫

開始正式的數據抓取工做以前,先來看一下個人成果,我把抓取到的90多個專欄的訂閱數和銷售總價作了一個排序,而後把 TOP 10 拿出來作了一個柱狀圖出來。ide

web scraper 抓取數據並作簡單數據分析

抓取數據

今天要抓的這個網站是一個 IT 知識付費社區,極客時間,應該互聯網圈的大多數同窗都據說過,我還在上面買了 9 門課,雖然沒怎麼看過。學習

極客時間的首頁會列出全部網課,和簡書首頁的加載方式同樣,都是先滾動下拉加載,以後變爲點擊加載更多按鈕加載更多。這是一種典型網站加載方式,有好多的網站都是兩種方式結合的。這就給咱們用 web scraper 抓數據製造了必定的麻煩,不過也很好解決。大數據

一、建立 sitemap,設置 start url 爲 https://time.geekbang.org/網站

二、建立滾動加載的 Selector,這只是個輔助,幫助咱們把頁面加載到出現點擊加載更多按鈕出現,設置以下,注意類型選擇 Element scroll down,選擇整個課程列表區域做爲 Element。url

web scraper 抓取數據並作簡單數據分析

三、建立點擊加載更多按鈕的 Selector,這個纔是真正要抓取內容的 Selector。以後會在它下面建立子選擇器。建立以前,須要下拉記載頁面,直到出現加載更多按鈕。3d

web scraper 抓取數據並作簡單數據分析

首先選擇元素類型爲 Element click 。code

Selector 選擇整個課程列表,並設置爲 Multiple。blog

Click 選擇加載更多按鈕,這裏須要注意一點,以前的文章裏也提到過,這個按鈕沒辦法直接點擊選中,由於點擊後會觸發頁面加載動做,因此要勾選 Enable key events,而後按 S 鍵,來選中這個按鈕。

Click type 設置爲 Click more 類型。

Click element uniqueness 設置 unique CSS Selector。

web scraper 抓取數據並作簡單數據分析

四、進入上一步建立的 Selector ,建立子選擇器,用來抓取最終須要的內容。

web scraper 抓取數據並作簡單數據分析

五、最後運行抓取就能夠啦。

數據清洗

這裏只是很簡單的演示,真正的大數據量的數據清洗工做要費力耗時的多。並且也遠不止一個 Excel 能完成的,還須要程序代碼的配合,大多數時候還會用到數據庫,固然對於比較簡單的數據或者沒有開發經驗的同窗來講,用 Excel 也就是最簡單省事的選擇了。

打開 csv 文件後,第一列信息是 web scraper 自動生成的,直接刪掉便可。不知道什麼緣由,有幾條重複數據,第一步,先把重複項去掉,進入 Excel 「數據」選項卡,點擊刪除重複項便可。

第二步,因爲抓下來的課時和報名人數在同一個元素下,沒辦法在 web scraper 直接放到兩個列,因此只能到 Excel 中處理。個人操做思路是這樣的,先複製一列出來,而後利用內容替換的方式,將其中一列的報名人數替換成空字符,替換的表達式爲 講 | *人已學習,這樣此列就變成了課時列。將另一列的課時替換爲空字符串,先替換 x講,替換內容爲*講 |,而後再替換人已學習, 那麼這列就變成了報名人數列。價格就只保留當前價格,刪掉無用列,而且處理掉限時、拼團、¥這些無用字符。

數據分析

由於這裏抓取的數據比較簡單,也沒期望能分析出什麼結果。一共90幾門課,也就是分析分析哪門課最受歡迎、價格最高。直接在 Excel 裏排個序就行了。而後計算一下幾門課程的總價格。

固然真正的商業數據分析不只僅是一個 Excel 畫個圖就搞定的事兒。也不是弄兩個柱狀圖就能夠的了,通常都須要多個維度、數據關聯分析、深度挖掘等。

在 Excel 中作了兩個柱狀圖,分別統計訂閱人數前十名和總銷售金額的前十名。下面是最後的呈現效果。

web scraper 抓取數據並作簡單數據分析

若是不想用 Excel, 有一些在線的圖表製做網站也能夠將 Excel 上傳作一些基本的圖表,可是靈活性稍微差一點。我用了「圖表秀(https://www.tubiaoxiu.com/)」,能夠將 Excel 上傳,並且還能對 Excel 進行編輯,能夠刪除列、刪除行等操做,這也是相對其餘在線圖表平臺的優點,好比百度的「圖說」。下面是我作的一個簡單的柱狀圖,除了柱狀圖外還支持好多種圖表。

web scraper 抓取數據並作簡單數據分析

以上僅僅是一個業餘選手作數據抓取和分析的過程,請酌情參考。

相關文章
相關標籤/搜索