隨著人們對於互聯網的信任和依賴,網頁資料幾乎已成為一個浩瀚無際的龐大資料庫。另外,就資訊呈現的形態而言,人們已由分類架構的入口網站形態(例如蕃薯藤)轉變至依個人需求的搜索網站形態(例如Google和Yandex),甚至是已逐漸成為主流形態的社群媒體(例如Facebook和Twitter),使得人們需求逐漸地由被動滿足轉變為主動滿足,例如曾經在個人Facebook按讚的書本資訊,類似書籍將以高頻率地呈現在個人的Facebook廣告中,使得獲取需求資源的門檻越來越低,並形成新興的商業模式「社群行銷」。
藉由R或Python進行網頁爬蟲工作時,一般需要下載套件(Packages)來讀取網址的html格式內容,以R為例,需要的套件可能包含rvest和xml2。除了下載安裝套件之外,尚須取得Xpath並嵌入程式碼以批次取得目標資料。下列步驟說明如何取得網頁的Xpath,並嵌入R程式碼中,以實現網頁爬蟲工作。
a.以Chrome瀏覽器開啟目標網頁(URL),並按下F12鍵來開啟網頁開發工具視窗,以台灣銀行匯率告示網頁為例,網頁開發工具視窗如圖一紅色框所示。
圖一 開啟網頁開發工具視窗 |
b.參考圖二紅色指示框,依序點選和操作,以取得目標資訊的Xpath,範例結果如下。
/html/body/div[1]/main/div[4]/table/tbody/tr[2]/td[2]
圖二 取得目標資訊的Xpath |
為了完成擷取所有幣種的"本行買入"數據,須將Xpath修改如下列。
/html/body/div/main/div/table/tbody/tr/td[2]/text()
c.將上述Xpath嵌入R程式碼,並將html節點轉成text格式,如圖三所示。以台灣銀行匯率告示網頁為例,藉由R可將即時匯率資訊彙整成表,如圖四所示。
圖三 將Xpath嵌入R程式碼 |
圖四 匯率資訊表 |
參考來源:
2. Xpath教程
沒有留言:
張貼留言