Skip to content

Latest commit

 

History

History
89 lines (76 loc) · 4.27 KB

ch2.md

File metadata and controls

89 lines (76 loc) · 4.27 KB

2. 使用 Beautiful Soup 解構網頁

2-1. 不要重覆造輪子:寫爬蟲之前

  • 寫程式之前:再想想是否有其他方法
  • 先搜尋 "爬蟲", 下載", "Crawler", "Downloader" 等關鍵字, 可能已經有人做好:
    • 現成的服務 (e.g., YouTube Downloader, 券商 App, 財報狗)
    • 打包好的資料 (e.g., 維基百科)
    • 現成的函式庫 (e.g., ComicCrawler)
  • 需要自己寫爬蟲時,考慮以下順序
    • API (YouTube, imdb, Twitter, ...)
    • URL 或網址連結是否有規則 (日期, 代號, ...)
    • 若網頁使用 AJAX (非同步更新),可能有隱藏的 API Endpoint
    • 網頁很複雜時,試試"列印此網頁"或行動版網頁
  • "直接開始爬網頁"永遠是最後一個選項

2-2. 使用 BeautifulSoup - 定位標籤元件

2-3. 使用 BeautifulSoup - 巡覽網頁結構

  • 範例程式: ch2/navigation.py
  • 範例網頁
  • 雖然 find(), find_all() 可以處理大部分問題, 但有時候巡覽網頁結構 (parent, children, next and previous siblings) 比較好用
  • 影片中提到了 iterator object, 想深入了解 iterator 是什麼的話可參考: Python 中的 Iterator 是什麼
body
  - div
    - h2
    - p
    - table
      - thead
        - tr
          - th
          - th
          - th
          - th
      - tbody
        - tr
          - td
          - td
          - td
          - td
            - a
              - img
        - tr
        - ...        

2-4. 正規表示式 (Regular Expression)

  • 範例程式: ch2/regex.py
  • 簡潔表示字串結構的方式
  • RegEx Pal: 線上測試 regex
計算思維是應用計算機科學的概念與方法,如問題拆分、抽象表示與邏輯推理,來更好地解決日常生活的問題。在人工智慧及資料科學已是顯學的今日,有越來越多人,尤其是跨領域的知識工作者(如商管、財金、新聞、社會科學等),對於「寫程式、計算思維或工具如何幫助或加值自己的專業」非常有興趣,而 Python 是我們認為最適合新手入門的程式語言。為什麼?不只是因為 Python 語言本身的簡潔與優雅,更因為它廣泛的用途,從最基本的自動化生活瑣事,到網站開發、機器學習、科學計算、桌面應用、資料分析與視覺化等,幾乎所有你想讓電腦為你代勞的事情都能夠用 Python 實作。因此,計算思維學院創辦初期便聚焦在 Python 相關的知識與應用場景。

聯絡我們 [email protected]
https://compthinking.dev