高點研究所
首頁商研所許誠哲 網路爬蟲(web crawl)的基本原理
篇名
網路爬蟲(web crawl)的基本原理
作者
許誠哲
說明
發佈時間:20211115

在網路的普及之下,大多數的人在一天之中,在網路上進行探索與休閒的時間大幅度的增加,因此在網路上留下的足跡也相當的豐富。比如說在房屋交易網站上的逐筆資訊,或者是網路論壇對於某些事件的討論風向,這些資訊對於決策者是相當具有價值的。然而,這些資料由於不像是總體或者財務資料,會有專門的機關進行結構性的整理,並免費的提供該資料。即使有人整理這類資料,通常也不是無償提供使用,需要付出的使用成本。在這個情況下,網路爬蟲便是一個相當重要的技巧。

網路爬蟲的原理是讀取網頁的原始碼,從中過濾出所需要的資訊。舉例來說,圖 1 是 Yahoo Finance 中的每日台股成交金額排行,這個資訊可以讓我們找出檯面上最熱門的標的。但是以人工紀錄的方式蒐集資料非常的浪費時間也沒有效率,因此可以利用網路爬蟲的方式蒐集此資料。首先先打開網路的原始碼,首先我們先搜尋排名前兩名的標的。如圖 2 與圖 3 所示,可以發現其格式為一致的,因此可以使用統計軟體先下載整個原始碼後,再過濾具有該格式的內容,便可獲得此資料。對於詳細操作有興趣的同學,請參考https://youtu.be/gOG6Pt2N-Uw

最後要提醒各位讀者,爬蟲的過程中會耗費網站的大量資源,因此有些網站會封鎖此功能。例如 Yahoo Finance 中,若頻繁的利用爬蟲下載該網站的資料,則該 ip 將會被封鎖一段時間,因此在撰寫程式時,需要考慮將程式閒置一段時間後再重覆執行。此外,財務類的網站中,在開盤期間通常會降低每個使用者的流量,因此下載速度會較慢,故建議可以在盤後再進行爬蟲程式的撰寫與執行會較為順暢。

圖1:網頁圖例一

圖2:原始碼圖例一

圖3:原始碼圖例二

關鍵詞
網路爬蟲、web crawl、網頁的原始碼
刊名
商研所許誠哲