[筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 利用 BeautifulSoup 來解析網頁原始碼

章節連結

斷斷續續地在網路和書籍上學習有關 Python 的爬蟲技術,但隨著反爬蟲的技術也是越來越精進,所以想說藉由 「超新手也能用 Python 爬蟲打造貨比千家的比價網站」這門課來看看能否解決相關的疑惑。這篇主要是記錄如何「利用 BeautifulSoup 來解析網頁原始碼」。
python


課程相關資訊

[連結]:https://hiskio.com/courses/527/lectures/26085

本篇範圍:Chapter 2 ( 開啟第一個網頁爬蟲 – 自動化收集商品資料 )

請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。


筆記

1. 攔截回的回應,僅是網頁的原始碼。BeautifulSoup 是將原始碼解讀成樹狀結構,方便後續取用的工具。若你有曾經使用過 jQuery 的話,那上手的難度應該不高
2. 在 python 中載入,一般而言僅需要用 from bs4 import BeautifulSoup 即可。這代表的是僅需要使用 BeautifulSoup 中的 bs4 函式,是一種按需載入的寫法
3. 解析出了樹狀結構,可以用

  • <解析出的樹狀結構位置>.name:該項目的標籤名稱
  • <解析出的樹狀結構位置>[”]:該項目的屬性,如 class, id…等
  • <解析出的樹狀結構位置>.text:該項目的文字

4. 用 find, find_all 可以找到部分、全部的同類標籤;搭配上 class, id 等條件可以縮小範圍
5. class 在 python 是保留字,所以要使用 class_
6. 實務上,你可以搭配瀏覽器的工具 ( 如 Google Chrome 的 Elements 中的點選指標,你可以快速跳到畫面上的圖示於瀏覽器的所在位置 ),接著來思考一下如何透過相關的 HTML 屬性和標籤來達成定位效果

程式碼


系列文章

  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 資料科學與網頁爬蟲
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 網頁爬蟲的起源和處理策略
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 為什麼抓不到動態資料
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 把全部的資料爬回來 ( 2 )
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 把全部的資料爬回來 ( 1 )
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 從網頁溝通架構到爬蟲運作原理
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 在靜態網站中獲取資訊 2
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 在靜態網站中獲取資訊
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 友善與惡意爬蟲
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – 利用 Requests 模擬請求和攔截回應
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – Selenium 的簡介
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – Python 與爬蟲環境準備
  • [筆記] 超新手也能用 Python 爬蟲打造貨比千家的比價網站 – Python 的基本語法
  • 按讚加入粉絲團

    延伸閱讀