本章節介紹如何使用 Selenium 進行動態網頁的自動化操作與資料擷取,適合需要模擬使用者行為(登入、捲動、點擊)的進階爬蟲需求。
| 教材 | 說明 | 開啟方式 |
|---|---|---|
| 網頁擷取_Selenium.ipynb | Selenium 基礎網頁擷取教學 | |
| ptt_selenium.ipynb | PTT 看板資料爬蟲 | |
| yahoo_selenium.ipynb | Yahoo 股市資料爬蟲 |
| 檔案 | 說明 |
|---|---|
網頁擷取_Selenium.ipynb |
Selenium 互動式教學筆記本 |
ptt_selenium.py |
PTT 爬蟲 Python 腳本 |
yahoo_selenium.py |
Yahoo 股市爬蟲 Python 腳本 |
ptt_scraping_dag.py |
PTT 爬蟲 DAG 排程腳本 |
# 使用 uv (推薦)
uv run --with selenium --with webdriver-manager python ptt_selenium.py
# 或使用傳統方式
pip install selenium webdriver-managerSelenium 需要對應瀏覽器的 WebDriver:
- Chrome: ChromeDriver
- Firefox: GeckoDriver
使用 webdriver-manager 可自動下載對應版本的驅動程式:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())python ptt_selenium.py
python yahoo_selenium.py- Selenium WebDriver 基本操作
- 定位元素 (CSS Selector、XPath)
- 模擬點擊、輸入、捲動等使用者行為
- 等待頁面載入 (Implicit / Explicit Wait)
- 處理動態 JavaScript 渲染內容
- 請確認 ChromeDriver 版本與 Chrome 瀏覽器版本相符
- 部分網站對爬蟲有防護機制,請遵守網站使用條款
- 建議加入適當的等待時間,避免請求過於頻繁