上一篇我們已經介紹過Google Colab的基本用法,建議可以先行閱讀「 【Google Colab系列】台股分析預備式: Colab平台與Python如何擦出火花? 」,進行基本概念與環境的建置再進行下一步會比較容易進行學習。 雖然網路上已經提供非常多的股市資訊,但各個網站可能都零零散散,難免我們得自行進行資訊整合來抓取網頁資料進行分析,而Python語言的特性就是早期具有非常多的資料科學家使用的一門語言,故統計、分析、資料解析的套件非常多,我們只要採用幾個重要的套件就能夠快速的抓取我們需要的資料進行分析。 這次主要介紹兩個重要的套件,分別是「BeautifulSoap」與「Pandas」,這兩個工具主要瞄準的目標不太相同,「BeautifulSoap」主要針對HTML、XML格式進行解析,讓我們可以更快的抓到我們需要的資料,等於是幫我們進行第一道關卡的過濾,而第二道關卡資料分析的過程就需要透過「Pandas」來幫我們進行了,就相當於資料 → 資訊 → 知識的轉化過程。 圖片來源 撒網目標: Goodinfo! - https://goodinfo.tw/tw/index.asp - 某一檔個股的經營績效指標。 我們已經很確定要抓取的網頁資訊就是在「經營績效」這個頁面,因此第一步就是先進到這個畫面之後,將網址複製起來。 圖片來源 得到網址為: https://goodinfo.tw/tw/StockBzPerformance.asp?STOCK_ID=3231 我們得到網址之後,首先就要先設法將網頁內容抓取,我們可以用Python內建的request套件去請求目標網址。 import requests res = requests.get('https://goodinfo.tw/tw/StockBzPerformance.asp?STOCK_ID=3231', headers = headers) res.encoding = 'utf-8' res.text 但非常不幸的第一步將遇到一個狀況就是我們被誤以為機器人,因此沒辦法請求任何資訊了! 圖片來源 怎麼辦呢? 主要是許多網站都會檢查header是否為user-agent來判定為機器人或者瀏覽器行為,此時我們來觀察一下瀏覽器操作的行為,並試圖模