最近看到網友問到「Excel VBA跟其他語言爬蟲有甚麼差異?有甚麼優點?」
我以教會零程式基礎的同學如何做網頁資料擷取(網路爬蟲)的角度來切入
以下是我的想法,歡迎大家交流
其實爬蟲技術都是一樣的,因為主要是觀察網頁有哪些特點,並加以運用來抓到自己想要的資料,而選擇使用Excel VBA有幾個優點:
1.Excel內建功能:
Excel是我們最常接觸也最熟悉的軟體
所以利用Excel爬蟲等於是把我們要的資料,帶進一個我們最熟悉的環境
來進行處理以及分析,Excel有許多好用的內建功能
例如插入公式、樞紐分析、資料篩選、排序等等
所以在資料處理上很容易上手
2.資料視覺化:
使用VBA將資料抓進Excel之後,若想做成圖表僅需要:
選取資料範圍→插入圖表簡單兩步驟即可
但對於其他程式語言來說可能又要再寫個十幾二十行程式碼
3.不用另外安裝環境:
使用Excel VBA只要有Excel即可,但若使用其他程式語言就需要安裝相關環境
而這步驟對於零基礎的同學往往是個痛點
因為常常不小心漏裝了甚麼東西,就造成錯誤
而電腦只會跳出滿滿專業術語的錯誤訊息,這對於初學者是非常吃力的
4.易於分享:
同上所述,不用另外安裝環境還有個優點是
當我們要將程式碼分享給別人時
若是用Excel VBA,則對方只要有Excel即可使用您的檔案
但若是用其他語言,則對方若沒有相關環境可能就無法使用我們做的檔案
bootcamp教學網址連結:https://applealmond.com/posts/14588
迷思:
1.用Excel抓資料效率很差?
這恐怕是普遍大眾對於Excel最大的錯誤迷思了
由於大部分的人對於Excel抓資料的認識僅到「WEB查詢」,因此認為效率很差
然而Excel VBA其實有非常好用的物件--XMLHTTP可以使用
其效率是WEB查詢的數十倍以上,WEB查詢抓一兩分鐘的資料
XMLHTTP可能用幾秒甚至零點幾秒就抓完了
但由於大眾對於Excel VBA此進階功能不熟悉,才會普遍產生這種誤解
2.用Excel只能下載表格資料?
同上所述,由於大部分的人對於Excel抓資料的認識僅到「WEB查詢」,所以才有此誤解
事實上若會使用XMLHTTP,或者會操控IE
就可以取出網頁的特定資料,而不用整個表格資料都下載
總結:
我認為對於完全沒有基礎的同學來說,Excel VBA會是個很好的選擇
因為
1.Excel VBA非常簡單,容易上手
2.Excel是我們非常熟悉的軟體,內建了許多好用的資料分析功能
3.使用Excel VBA不需另外安裝環境,省掉一個令初學者頭痛的大麻煩
同時又有易於分享的功能
4.在Excel中要做到資料視覺化是一件非常容易的事情,僅需簡單兩步驟
而不用另外撰寫十幾二十行,甚至更多程式碼
近來還可以搭配微軟推出的Power BI這個強大的資料視覺化工具使用
沒有留言:
張貼留言