網頁數據採集

不用學爬蟲 ── 告訴 AI 你要什麼數據,剩下的它來

想抓個數據,怎麼就這麼難

不會寫爬蟲、反爬繞不過、數據亂成一鍋粥

你只是想把網頁上的數據整理下來而已,結果一搜教程:requests、BeautifulSoup、XPath、CSS選擇器……光術語就能勸退一半人。

好不容易照著教程跑通了,第二天網站加了 Cloudflare 驗證、IP 被封了、驗證碼彈出來了,直接歇菜。

就算數據抓下來了,格式也是一團糟──有的欄位帶 HTML 標籤、有的價格帶貨幣符號、有的日期格式三四種混著來。清洗數據的時間比採集還長,真的會謝。

OpenClaw:你說要什麼數據,它寫腳本去抓

不用學爬蟲技術棧,直接告訴 OpenClaw 你想採集哪個網頁、要哪些欄位,它會自動分析頁面結構,幫你生成完整的爬蟲腳本。

反爬?它知道怎麼加隨機延遲、輪換 User-Agent、處理動態加載。翻頁?告訴它要抓多少頁,自動搞定分頁邏輯。

抓完的數據直接就是乾淨的結構化格式:CSV、JSON、Excel 隨你選。網站改版了也不怕,重新跑一次,它會適應新的頁面結構。

3 條採集 Prompt,拿走就能用

從入門到進階,覆蓋最常見的採集場景。

豆瓣 Top250 電影數據採集 黃金指令
幫我採集豆瓣 Top 250 電影的數據:

URL: https://movie.douban.com/top250

需要採集的欄位:
- 電影名稱(中文名 + 英文名)
- 豆瓣評分
- 評價人數
- 導演
- 上映年份
- 一句話短評

要求:
1. 自動翻頁,採集全部 250 部
2. 每次請求間隔 2-3 秒,別太快
3. 評價人數只保留數字,去掉"人評價"這種文字
4. 保存為 CSV 檔案,按評分從高到低排序
豆瓣是練手採集的經典目標,頁面結構穩定,反爬不算嚴。記得控制頻率,別給人家伺服器添麻煩。
競品價格定時監控 進階技巧
幫我寫一個競品價格監控腳本:

監控目標(5 個競品的定價頁面):
- [競品A價格頁URL]
- [競品B價格頁URL]
- [競品C價格頁URL]
- [競品D價格頁URL]
- [競品E價格頁URL]

功能要求:
1. 每天早上 9 點自動採集各競品的當前售價
2. 和昨天的價格做對比,有變化就標紅
3. 數據存入本地 SQLite,方便後續查詢
4. 每週生成一份價格變化趨勢圖(matplotlib)
5. 價格變動超過 5% 時,輸出告警日誌

用 schedule 做定時,requests + BeautifulSoup 採集。
加上異常處理,網路超時或頁面變了不要崩。
適合市場部長期跟蹤競品動態。腳本生成後丟到伺服器用 crontab 跑就行。競品多的話可以讓 AI 加上多執行緒,採集效率翻幾倍。
網頁表格一鍵提取 新手友善
幫我把這個網頁上的表格數據提取出來:

URL: [貼上網頁連結]

要求:
1. 自動識別頁面中的所有表格
2. 把表格數據整理成 Excel 格式
3. 每個表格單獨一個 Sheet,Sheet 名用表格標題
4. 保留表頭,數據格式自動識別(數字、日期、百分比)
5. 保存到 ~/data/extracted_tables.xlsx
最簡單的採集任務,適合快速抓取報告、統計頁面上的表格數據。大多數網頁表格用 pandas 的 read_html 就能搞定,一行代碼的事。

數據採集:OpenClaw vs 八爪魚/火車頭

可視化採集器入門快,但天花板太低。

OpenClaw
  • 用中文描述需求,AI 自動生成爬蟲代碼
  • 代碼完全透明,想改邏輯隨時改
  • 能處理 JS 動態渲染、登入態、各種反爬
  • 數據清洗和採集一步到位,不用二次處理
  • 腳本直接部署到伺服器跑定時任務,零額外成本
VS
八爪魚 / 火車頭
  • 可視化點選配置,上手確實快
  • 但碰到複雜頁面經常配不出來
  • JS 渲染的頁面基本抓瞎
  • 數據清洗能力有限,導出還得再加工
  • 定時任務要付費版,一年好幾千

爬蟲安全配置

跑爬蟲之前,這些安全設置記得配好。

爬蟲安全配置(.openclaw.yml)
# 爬蟲項目推薦配置
sandbox:
  network: true               # 允許網路訪問
  timeout: 300                # 採集可能需要幾分鐘
  allowed_paths:
    - ~/data/                 # 數據存儲目錄

scraping:
  respect_robots_txt: true    # 遵守 robots.txt 規則
  request_delay: 2            # 請求間隔(秒),別太快
  max_retries: 3              # 失敗重試次數
  user_agent_rotate: true     # 自動輪換 User-Agent
  timeout_per_request: 30     # 單次請求超時(秒)

python:
  packages:
    - requests
    - beautifulsoup4
    - selenium                # 需要渲染 JS 的頁面
    - pandas                  # 數據整理和導出
這篇案例對你有幫助嗎?