Python 自學第十五天:網路爬蟲 Web Crawler - 操作 Cookie、連續抓取頁面
- 程式模擬瀏覽器,建立網路連線。
- 觀察 HTML 網頁原始碼結構。
- 使用 BeautifulSoup4 模組解析原始碼,撰寫程式邏輯,取得自己想要的部分。
- 如果有需要,可以儲存成 Text 或 CSV 檔案。
資訊爆炸的世代,每天會有上千萬新的網頁資料誕生,如果你想分析一間科技公司的成長能力,需要研究的資料有:營收成長率、主營業務增長率、股本比重、固定資產比等等,還不只包含當年當季度,可能需要收集連續十年的一堆資料。如果你想買運動彩券,則需要收集:多年 NBA 不同隊伍的比數,球員的上場時間、進球率、罰球進球率等等。
利用網路爬蟲,自動化地重複執行收集資料和萃取、處理資訊的步驟,可以大大地節省我們的時間,還不會有運算上的錯誤發生 (除非你自己程式邏輯寫錯囉~)
這一篇提到,多人協作時,在自己開始更新本地端分支前,最好先取得遠端分支的更新版本,即可能避免更新到同一行檔案之衝突的發生。若是自己更新完了本地端該分支的現有版本,正要推上遠端分支時,發現檔案衝突,該如何解決?
實際練習幾個類別的運用,將程式碼封裝在裡面,使用者不需要寫很多行程式碼,即可操作。
Class 類別主要用來定義封裝的變數和函式 (又稱作屬性)。定義類別名稱時,習慣首字大寫。可以分成靜態類別、一般類別和兩者混用類別。
要理解 class 的特性,就一定得提到物件導向 (OOP,Object Oriented Programming) 的概念。
多人協作時,不可能都在 master分支 上更動程式碼,通常會另外開分支來做測試或開發,藉此不影響正式主機分支。
branch 非常不佔空間。它們只是一個指向某個 commit 的 reference,就這麼簡單。使用 branch 其實就是在說:「我想要包含這一次的 commit 以及它的所有 parent 的 commit。」
所謂的遠端操作,就是將本地端(電腦)版本控制狀態的資料傳送到遠端伺服器上,我們要使用的是最有名的 GitHub,它是最大的 Git (版本控制系统軟體) 服務提供商 (Git Server)。
程式時常需要處理各種不同的檔案。理解如何讀取、寫入 Text
檔案非常重要。除此之外,網路上的公開資料 (Open Data) 也常會使用 JSON
或 CSV
格式的檔案,因此,我們也需要了解相關的操作方式。