Amazon 爬蟲 Python 教學:如何擷取商品資料

最後更新於 July 18, 2025

說真的,Amazon 幾乎就是全世界的購物天堂、超市和電子賣場的集合體。如果你在做銷售、電商或營運,肯定知道 Amazon 上的動態會直接影響你的定價策略、庫存調度,甚至下一波主打商品的選擇。但問題來了:這些超有價值的商品資訊、價格、評分和評論,全都藏在只為消費者設計的網頁裡,對需要大量數據的團隊來說根本不友善。那要怎麼辦,才能不用像以前一樣瘋狂複製貼上,輕鬆把這些資料抓下來?

這時候,網頁爬蟲就超級派得上用場。這篇教學會帶你用兩種方式抓 Amazon 商品資料:一種是經典的「自己用 Python 寫程式」,另一種則是用像 這種免寫程式的人工智慧網頁爬蟲,直接讓 AI 幫你搞定一切。我會先示範完整的 Python 程式碼(包含常見陷阱和解法),再展示怎麼用 Thunderbit 幾個步驟就能抓到一樣的資料,完全不用寫一行程式。不管你是開發者、商業分析師,還是只想擺脫手動輸入的工作,這篇都能幫你省下大把時間。

為什麼要抓 Amazon 商品資料?(amazon 爬蟲 python、python 網頁爬蟲)

Amazon 不只是全球最大的線上零售商,更是競爭情報的金礦。根據 ,Amazon 上架商品超過 6 億件,活躍賣家接近 200 萬家,對於想要:

  • 監控價格(即時調整自家售價)
  • 分析競爭對手(追蹤新品、評價與評論)
  • 開發潛在客戶(找賣家、供應商或合作夥伴)
  • 預測市場需求(觀察庫存與銷售排名)
  • 掌握市場趨勢(挖掘評論與搜尋結果)

這些都不是紙上談兵,很多企業已經靠這些數據拿到實際成效。像有家電子產品零售商利用 Amazon 價格數據 ,另一品牌自動化競品價格追蹤後

下面整理常見應用和預期效益:

應用場景使用對象常見效益 / 回報
價格監控電商、營運利潤提升 15% 以上、銷售成長 4%、分析師工時減少 30%
競品分析銷售、產品、營運更快調整價格、提升競爭力
市場調查(評論)產品、行銷加速產品優化、優化廣告文案、SEO 洞察
潛在客戶開發銷售每月 3,000+ 潛在名單、每人每週省 8 小時
庫存與需求預測營運、供應鏈庫存過剩減少 20%、缺貨機率降低
趨勢偵測行銷、管理層及早發現熱門商品與類別

更重要的是,都已經從數據分析中獲得實質價值。如果你還沒開始抓 Amazon 資料,等於把商機和洞察拱手讓人。

概覽:Amazon 爬蟲 Python vs. 免寫程式網頁爬蟲工具

要把 Amazon 資料帶進你的試算表或儀表板,主要有兩種方式:

  1. Amazon 爬蟲 Python(python 網頁爬蟲):

    用 Python 程式搭配 Requests、BeautifulSoup 等函式庫自己寫爬蟲。這種方式彈性最大,但你得會寫程式、處理反爬蟲機制,還要隨時維護程式碼因應 Amazon 網站變動。

  2. 免寫程式網頁爬蟲工具(像 Thunderbit):

    只要點選、拖拉就能擷取資料,完全不用寫程式。像 這類新一代工具甚至用 AI 自動判斷要抓哪些欄位,還能自動處理分頁、子頁面,並直接匯出到 Excel 或 Google Sheets。

兩者比較如下:

比較項目Python 爬蟲免寫程式(Thunderbit)
建置時間高(安裝、寫程式、除錯)低(安裝擴充功能)
技能需求需會寫程式無需技術背景(點選即可)
彈性無上限常見需求高度彈性
維護需自行維護程式工具自動更新
反爬蟲處理需自行處理代理、標頭內建自動處理
擴展性手動(多執行緒、代理)雲端爬取、自動平行處理
資料匯出自訂(CSV、Excel、資料庫)一鍵匯出 Excel、Sheets
成本免費(但需花時間與代理費)免費+付費升級

接下來會分別帶你實作 Python Amazon 爬蟲(含完整程式碼),再示範如何用 Thunderbit 人工智慧網頁爬蟲一鍵完成。

Amazon 爬蟲 Python 入門:環境準備與安裝

在開始寫程式前,先把開發環境準備好。

你需要準備:

  • Python 3.x(可到 下載)
  • 程式編輯器(推薦 VS Code,其他也可以)
  • 以下函式庫:
    • requests(發送 HTTP 請求)
    • beautifulsoup4(解析 HTML)
    • lxml(高效 HTML 解析器)
    • pandas(資料表/匯出)
    • re(正則表達式,Python 內建)

安裝函式庫:

1pip install requests beautifulsoup4 lxml pandas

專案設定:

  • 建立一個新資料夾作為專案目錄。
  • 用編輯器新增 Python 檔案(如 amazon_scraper.py)。
  • 一切就緒,準備開工!

實作步驟:用 Python 擷取 Amazon 商品資料

以下以單一商品頁為例說明(後面會介紹如何批次抓多商品、多頁面)。

1. 發送請求並取得 HTML

先抓取商品頁的 HTML(請自行替換商品網址):

1import requests
2url = "<https://www.amazon.com/dp/B0ExampleASIN>"
3response = requests.get(url)
4html_content = response.text
5print(response.status_code)

注意: 這種最基本的請求很容易被 Amazon 擋下來,常見 503 或出現驗證碼頁面。因為 Amazon 能判斷你不是一般瀏覽器。

Amazon 反爬蟲對策

Amazon 對機器人很敏感,建議:

  • 加上 User-Agent 標頭(偽裝成 Chrome 或 Firefox)
  • 輪換 User-Agent(不要每次都用同一個)
  • 降低請求頻率(隨機延遲)
  • 大量爬取時用代理伺服器

範例:

1headers = {
2    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)... Safari/537.36",
3    "Accept-Language": "en-US,en;q=0.9",
4}
5response = requests.get(url, headers=headers)

進階做法可以準備多組 User-Agent 輪流使用。大規模爬取建議搭配代理服務,小規模則加標頭與延遲即可。

擷取主要商品欄位

取得 HTML 後,用 BeautifulSoup 解析:

1from bs4 import BeautifulSoup
2soup = BeautifulSoup(html_content, "lxml")

以下示範常見欄位:

商品標題

1title_elem = soup.find(id="productTitle")
2product_title = title_elem.get_text(strip=True) if title_elem else None

價格

Amazon 價格位置不一,可嘗試:

1price = None
2price_elem = soup.find(id="priceblock_ourprice") or soup.find(id="priceblock_dealprice")
3if price_elem:
4    price = price_elem.get_text(strip=True)
5else:
6    price_whole = soup.find("span", {"class": "a-price-whole"})
7    price_frac = soup.find("span", {"class": "a-price-fraction"})
8    if price_whole and price_frac:
9        price = price_whole.text + price_frac.text

評分與評論數

1rating_elem = soup.find("span", {"class": "a-icon-alt"})
2rating = rating_elem.get_text(strip=True) if rating_elem else None
3review_count_elem = soup.find(id="acrCustomerReviewText")
4reviews_text = review_count_elem.get_text(strip=True) if review_count_elem else ""
5reviews_count = reviews_text.split()[0]  # 例如 "1,554 ratings"

主圖網址

Amazon 有時把高畫質圖片藏在 HTML 的 JSON 裡,可用正則:

1import re
2match = re.search(r'"hiRes":"(https://.*?.jpg)"', html_content)
3main_image_url = match.group(1) if match else None

或直接抓主圖標籤:

1img_tag = soup.find("img", {"id": "landingImage"})
2img_url = img_tag['src'] if img_tag else None

商品細節

品牌、重量、尺寸等多在表格內:

1details = {}
2rows = soup.select("#productDetails_techSpec_section_1 tr")
3for row in rows:
4    header = row.find("th").get_text(strip=True)
5    value = row.find("td").get_text(strip=True)
6    details[header] = value

或遇到「detailBullets」格式:

1bullets = soup.select("#detailBullets_feature_div li")
2for li in bullets:
3    txt = li.get_text(" ", strip=True)
4    if ":" in txt:
5        key, val = txt.split(":", 1)
6        details[key.strip()] = val.strip()

輸出結果:

1print("Title:", product_title)
2print("Price:", price)
3print("Rating:", rating, "based on", reviews_count, "reviews")
4print("Main image URL:", main_image_url)
5print("Details:", details)

批次抓多商品與分頁處理

如果想抓整個商品清單,可以這樣做:

從搜尋頁取得商品連結

1search_url = "<https://www.amazon.com/s?k=bluetooth+headphones>"
2res = requests.get(search_url, headers=headers)
3soup = BeautifulSoup(res.text, "lxml")
4product_links = []
5for a in soup.select("h2 a.a-link-normal"):
6    href = a['href']
7    full_url = "<https://www.amazon.com>" + href
8    product_links.append(full_url)

處理分頁

Amazon 搜尋頁網址可用 &page=2&page=3 依序翻頁:

1for page in range(1, 6):  # 抓前 5 頁
2    search_url = f"<https://www.amazon.com/s?k=bluetooth+headphones&page={page}>"
3    res = requests.get(search_url, headers=headers)
4    if res.status_code != 200:
5        break
6    soup = BeautifulSoup(res.text, "lxml")
7    # ... 如上擷取商品連結 ...

逐頁抓取並匯出 CSV

將所有商品資料存成字典列表,用 pandas 匯出:

1import pandas as pd
2df = pd.DataFrame(product_data_list)  # 字典列表
3df.to_csv("amazon_products.csv", index=False)

或匯出 Excel:

1df.to_excel("amazon_products.xlsx", index=False)

Amazon 爬蟲 Python 專案實戰建議

Amazon 網站經常變動且反爬蟲嚴格,建議:

  • 輪換標頭與 User-Agent(可用 fake-useragent 套件)
  • 大規模爬取用代理
  • 隨機延遲請求time.sleep()
  • 錯誤處理要完善(遇 503 重試、被擋時自動暫停)
  • 解析邏輯要彈性(同一欄位多種選擇器)
  • 監控 HTML 結構變化(突然全抓不到時檢查頁面)
  • 遵守 robots.txt(Amazon 多數區塊禁止爬取,請負責任使用)
  • 即時清理資料(去除貨幣符號、逗號、空白)
  • 多參與社群討論(Stack Overflow、Reddit r/webscraping)

維護爬蟲清單:

  • [ ] 輪換 User-Agent 與標頭
  • [ ] 大量爬取時用代理
  • [ ] 加入隨機延遲
  • [ ] 程式模組化方便維護
  • [ ] 監控是否被封鎖或出現驗證碼
  • [ ] 定期匯出資料
  • [ ] 記錄選擇器與邏輯

想深入了解,歡迎參考我的

免寫程式方案:用 Thunderbit 人工智慧網頁爬蟲抓 Amazon

看完 Python 做法後,如果你不想寫程式,或只想兩下就拿到資料,Thunderbit 就是你的神隊友。

Thunderbit 是一款人工智慧網頁爬蟲 Chrome 擴充功能,讓你完全不用寫程式就能抓取 Amazon(或幾乎任何網站)商品資料。它的優點包括:

  • AI 智能欄位建議: 一鍵自動辨識頁面資料,推薦常用欄位(如標題、價格、評分等)
  • 內建 Amazon 範本: 直接套用現成範本,常見欄位全自動擷取
  • 子頁面自動爬取: 可先抓商品清單,再自動進入每個商品頁補抓細節
  • 自動分頁: Thunderbit 會自動點擊「下一頁」或無限滾動
  • 一鍵匯出 Excel、Google Sheets、Airtable、Notion: 資料隨時可用
  • 免費試用: 少量頁面免費體驗
  • 自動處理反爬蟲: 因為在瀏覽器(或雲端)執行,Amazon 會認為你是真用戶

步驟教學:用 Thunderbit 擷取 Amazon 商品資料

操作流程超簡單:

  1. 安裝 Thunderbit:

    下載 並登入。

  2. 打開 Amazon 頁面:

    前往你想抓取的 Amazon 頁面(搜尋結果、商品頁都可以)。

  3. 點選「AI 智能欄位」或套用範本:

    Thunderbit 會自動推薦可擷取的欄位,或直接選用 Amazon 商品範本。

  4. 檢查欄位:

    可以自己增減、調整欄位名稱。

  5. 點擊「開始爬取」:

    Thunderbit 會自動擷取頁面資料並顯示於表格。

  6. 處理子頁面與分頁:

    如果抓的是清單,點「爬取子頁面」可自動進入每個商品頁補抓細節,也能自動翻頁。

  7. 匯出資料:

    一鍵匯出 Excel 或 Google Sheets,馬上就能用。

  8. (選用)排程自動爬取:

    需要每日自動更新?Thunderbit 也支援排程。

就這麼簡單,完全不用寫程式、除錯、代理、反爬蟲。想看操作影片,可以參考

Amazon 爬蟲 Python vs. 免寫程式網頁爬蟲:比較總覽

總結如下:

比較項目Python 爬蟲Thunderbit(免寫程式)
建置時間高(安裝、寫程式、除錯)低(安裝擴充功能)
技能需求需會寫程式無需技術背景(點選即可)
彈性無上限常見需求高度彈性
維護需自行維護程式工具自動更新
反爬蟲處理需自行處理代理、標頭內建自動處理
擴展性手動(多執行緒、代理)雲端爬取、自動平行處理
資料匯出自訂(CSV、Excel、資料庫)一鍵匯出 Excel、Sheets
成本免費(但需花時間與代理費)免費+付費升級
適合對象開發者、客製需求商業用戶、追求效率

如果你是開發者、需要高度客製,Python 是最佳選擇。若追求速度、簡單、免寫程式,Thunderbit 絕對是首選。

什麼時候該選 Python、免寫程式或 AI 網頁爬蟲?

適合用 Python 的情境:

  • 需要高度客製邏輯或要整合到後端系統
  • 大規模爬取(數萬商品以上)
  • 想深入學習爬蟲原理

適合用 Thunderbit(免寫程式、AI 網頁爬蟲):

  • 想快速取得資料、完全不寫程式
  • 商業用戶、分析師、行銷人員
  • 希望團隊每個人都能自己抓資料
  • 不想煩惱代理、反爬蟲、維護問題

兩者搭配使用:

  • 先用 Thunderbit 快速原型,量產時再用 Python 客製
  • 用 Thunderbit 抓資料、Python 做後續清理與分析

對大多數商業用戶來說,Thunderbit 能解決 90% Amazon 資料需求,省時又省力。剩下 10% 超級客製、大規模或深度整合,Python 依然是王道。

結論與重點整理

抓取 Amazon 商品資料,對銷售、電商、營運團隊來說就是一項超能力。不管你是要追蹤價格、分析競品,還是想解放團隊免於手動複製貼上,都有合適的解決方案。

  • Python 爬蟲 彈性最高,但學習曲線較陡且需持續維護
  • 免寫程式網頁爬蟲如 Thunderbit 讓任何人都能輕鬆抓取 Amazon 資料,無需寫程式、無痛上手
  • 最佳做法?選擇最適合你技能、時程與業務目標的工具

有興趣的話,不妨試試 Thunderbit——免費入門,資料取得超快。如果你是開發者,也可以混合使用,有時讓 AI 幫你處理繁瑣步驟,反而能更快完成專案。

常見問題

1. 為什麼企業要抓取 Amazon 商品資料?

抓取 Amazon 資料能幫助企業監控價格、分析競爭對手、收集評論做產品研究、預測需求、開發銷售名單。Amazon 擁有超過 6 億商品、近 200 萬賣家,是競爭情報的絕佳來源。

2. 用 Python 和像 Thunderbit 這類免寫程式工具抓 Amazon 有什麼差別?

Python 爬蟲彈性最高,但需會寫程式、安裝環境且要持續維護。Thunderbit 這類免寫程式人工智慧網頁爬蟲,讓用戶只需安裝 Chrome 擴充功能即可一鍵擷取 Amazon 資料,內建反爬蟲處理,還能直接匯出 Excel 或 Sheets。

3. 抓取 Amazon 資料是否合法?

Amazon 服務條款通常禁止自動抓取,且有嚴格反爬蟲措施。不過許多企業仍會抓取公開資料,並遵守合理頻率、避免過度請求等原則以降低風險。

4. 用網頁爬蟲工具能抓到哪些 Amazon 資料?

常見欄位包括商品標題、價格、評分、評論數、圖片、規格、庫存狀態,甚至賣家資訊。Thunderbit 也支援子頁面與分頁自動擷取,可抓取多筆商品與多頁資料。

5. 什麼情況該選 Python 爬蟲,什麼時候該用 Thunderbit?

需要完全自訂、複雜邏輯或要整合到後端系統時,建議用 Python。想快速取得資料、易於擴展、或商業用戶追求低維護,Thunderbit 是最佳選擇。

想深入了解,推薦參考:

祝你爬蟲順利,資料永遠最新!

立即體驗 Thunderbit 人工智慧網頁爬蟲抓取 Amazon
Shuai Guan
Shuai Guan
Co-founder/CEO @ Thunderbit. Passionate about cross section of AI and Automation. He's a big advocate of automation and loves making it more accessible to everyone. Beyond tech, he channels his creativity through a passion for photography, capturing stories one picture at a time.
Topics
Amazon 爬蟲 Python免寫程式網頁爬蟲Python 網頁爬蟲人工智慧網頁爬蟲
目錄

立即體驗 Thunderbit

兩步擷取潛在客戶與各類資料,AI 智能驅動。

下載 Thunderbit 免費體驗
用 AI 擷取資料
輕鬆將資料匯入 Google Sheets、Airtable 或 Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week