「扒頁面」本質是發送 HTTP 請求獲取 HTML,再解析提取目標信息。Python 生態提供了最成熟的工具鏈。
| 階段 | 推薦庫 | 特點 |
|---|---|---|
| 請求發送 | requests | API 人性化,支援 Session、代理、驗證 |
| 解析提取 | BeautifulSoup4 / lxml | CSS/XPath 選擇器,容錯性強 |
| 動態渲染 | Selenium / Playwright | 驅動真實瀏覽器,處理 JS 生成內容 |
| 反爬對抗 | scrapy 框架 | 內建去重、限速、中間件、分佈式擴展 |
import requests
from bs4 import BeautifulSoup
url = 'https://example.com/articles'
headers = {'User-Agent': 'Mozilla/5.0 (compatible; MyBot/1.0)'}
resp = requests.get(url, headers=headers, timeout=10)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, 'lxml')
for item in soup.select('.article-list .item'):
title = item.select_one('h3 a').get_text(strip=True)
link = item.select_one('h3 a')['href']
print(f'{title} -> {link}')
參考教程:Python 爬蟲實戰詳解