我的 Amazon 評論爬蟲連續跑了六週都沒問題——直到某天早上,它回傳了 200 OK,但頁面卻空空如也。沒有錯誤、沒有 CAPTCHA,只有原本該有數百則評論的位置,變成了一片空白的 HTML。
如果你也遇過這種情況,你不是孤單的。到了 2025 年底,Amazon 開始把完整評論頁面擋在登入牆後面,導致大量 Python 爬蟲腳本一夜之間失效。過去幾個月,我在 一邊打造我們的 AI 爬蟲,一邊維護自己的 Python 評論抓取流程,算是從兩個角度一路踩坑、一路修正,所以我想把當初最希望有人寫給我的那份指南整理出來。這篇文章會完整介紹可行做法:以 cookie 為基礎的驗證、能撐過 Amazon CSS 混淆的穩定選擇器、突破 10 頁分頁上限的替代方案、反機器人防護,以及最後的加碼——把原始評論文字轉成真正商業洞察的情緒分析。若你看到一半就想:「我其實不想維護這麼多程式碼」,我也會示範 如何用大約兩分鐘、完全不寫 Python 就做完同樣的事。
什麼是 Amazon 評論抓取?為什麼它很重要?
Amazon 評論抓取,是指用程式化方式擷取 Amazon 商品頁上的顧客評論資料——像是星等、評論內容、作者名稱、日期、是否為已驗證購買等。由於 Amazon ,而且後來也沒有再開放,因此網頁爬蟲幾乎是取得這些資料的唯一程式化途徑。
數據也支持這一點。,而且 。商品頁只展示 5 則評論,就可能讓 。而那些系統化分析評論情緒的公司,客戶留存率可 。這不只是抽象的資料科學,而是競品情報、產品改善訊號與行銷語言,全都明明白白躺在 Amazon 伺服器上的文字裡。
為什麼要用 Python 抓 Amazon 評論
Python 仍然是這類工作的首選語言。它在 ,而且它的生態系——requests、BeautifulSoup、pandas、Scrapy——讓即使不是全職工程師的人,也能比較容易上手網頁爬蟲。
不同團隊會以不同方式運用這些資料:
| 團隊 | 使用情境 | 擷取內容 |
|---|---|---|
| 產品/研發 | 找出重複抱怨、排序修正優先級 | 1–2 星評論文字、關鍵字出現頻率 |
| 業務 | 監測競品商品情緒 | 評分、評論量趨勢 |
| 行銷 | 擷取顧客語言作為廣告文案素材 | 正向評論句子、功能提及 |
| 電商營運 | 長期追蹤自家商品口碑變化 | 星等分布、已驗證購買比例 |
| 市場研究 | 比較不同類別領先商品的功能表現 | 多 ASIN 評論資料集 |
某廚具品牌 ,重新調整配方後,在 60 天內拿回了類別第一名的暢銷排行。另一家健身追蹤器公司 ,追查後確認是乳膠過敏問題,隨即推出低敏版本,退貨率因此下降 40%。這正是讓工程投入值得的 ROI。
登入牆:為什麼你的 Amazon 評論爬蟲突然失效
2024 年 11 月 14 日,Amazon 。這項變更也在 與 上獲得確認。當你在無痕視窗中開啟 /product-reviews/{ASIN}/,看到的會是登入頁,而不是評論資料。

症狀其實很隱晦:你的腳本拿到的是 200 OK,但 HTML 內容裡出現的是登入表單(例如 name="email"、id="ap_password"),而不是評論。沒有錯誤碼,也沒有 CAPTCHA,只有……毫無用處的內容。
Amazon 這麼做是基於反機器人與區域合規的考量。實際執行並不完全一致——有時候一個剛開的瀏覽器視窗在登入牆生效前,還是會先載入少量評論,尤其是第一頁——但只要是要大規模抓取,就應該預設登入牆永遠存在。
不同的 Amazon 國家站(.de、.co.uk、.co.jp)會各自獨立執行這項限制。正如某位論壇使用者所說:「每個國家都需要各自登入。」你的 .com cookies 不會在 .co.uk 上通用。
精選評論 vs. 完整評論:不登入還能看到什麼
Amazon 商品頁(/dp/{ASIN}/)在未驗證狀態下,仍會顯示大約 。這些是 Amazon 演算法挑選出來的內容,適合快速看一下整體口碑,但不能排序、篩選,也不能分頁。
而完整評論頁(/product-reviews/{ASIN}/)——可依最新排序、依星等篩選,並可翻閱數百則評論——則需要登入。
如果你只是想快速抓幾則評論做初步判斷,商品頁就夠了;如果你要幾百、幾千則,就得處理驗證。
開始前你需要準備什麼:Python 環境與函式庫
在寫任何程式之前,先準備以下環境:
- 難度: 中階(熟悉 Python、具備基本 HTML 知識)
- 所需時間: 完整流程約 45 分鐘;基本抓取約 10 分鐘
- 你需要: Python 3.8+、Chrome 瀏覽器、有效的 Amazon 帳號
安裝核心套件:
1pip install requests beautifulsoup4 lxml pandas textblob
選用套件(進階情緒分析用):
1pip install transformers torch
ASIN 是什麼? 它是 Amazon 的 10 碼商品識別碼。你可以在任何商品網址中找到它——例如 amazon.com/dp/B0BCNKKZ91,其中的 ASIN 就是 B0BCNKKZ91。這就是你要放進評論網址的關鍵值。
步驟 1:用 Cookie 驗證突破登入牆
最穩定的方法,是先在瀏覽器登入 Amazon,再把你的 session cookies 複製出來,注入到 Python 的 requests.Session() 中。這樣可以避開 Selenium 式登入自動化常見的 CAPTCHA 與簡訊 2FA 問題。
你需要這 7 個 cookies:
| Cookie 名稱 | 用途 |
|---|---|
session-id | 會輪替的 session 識別碼 |
session-id-time | session 時間戳 |
session-token | 會輪替的 session token |
ubid-main | 使用者瀏覽識別碼 |
at-main | 主要驗證 token |
sess-at-main | 以 session 為範圍的驗證 |
x-main | 與使用者 email 綁定的識別碼 |
如何從 Chrome DevTools 匯出 cookies
- 在 Chrome 中登入 amazon.com
- 開啟 DevTools(F12 或右鍵 → 檢查)
- 前往 Application → Storage → Cookies →
https://www.amazon.com - 在表格中找到每個 cookie 名稱,複製它的值
- 把它們整理成以分號分隔的字串,供 Python 使用
像這樣建立 session:
1import requests
2session = requests.Session()
3# 把你的 cookie 值貼在這裡
4cookies = {
5 "session-id": "YOUR_SESSION_ID",
6 "session-id-time": "YOUR_SESSION_ID_TIME",
7 "session-token": "YOUR_SESSION_TOKEN",
8 "ubid-main": "YOUR_UBID_MAIN",
9 "at-main": "YOUR_AT_MAIN",
10 "sess-at-main": "YOUR_SESS_AT_MAIN",
11 "x-main": "YOUR_X_MAIN",
12}
13headers = {
14 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
15 "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
16 "Accept-Language": "en-US,en;q=0.5",
17}
18session.cookies.update(cookies)
19session.headers.update(headers)
重要: 所有請求都要共用同一個 session 物件。這能保持 cookie 一致,並模擬真實瀏覽器的瀏覽狀態。cookies 通常可以維持數天到數週,但如果你又開始遇到登入跳轉,就要從瀏覽器重新更新一次。
至於非 .com 的站點,cookie 名稱會有些微差異——amazon.de 會用 at-acbde 取代 at-main,amazon.co.uk 則會用 at-acbuk,依此類推。每個站點都需要各自獨立的 session。
步驟 2:建立請求,並用 BeautifulSoup 解析評論 HTML
Amazon 評論網址格式如下:
1https://www.amazon.com/product-reviews/{ASIN}/ref=cm_cr_arp_d_viewopt_srt?sortBy=recent&pageNumber=1
核心函式如下:
1from bs4 import BeautifulSoup
2import time, random
3def get_soup(session, url):
4 time.sleep(random.uniform(2, 5)) # 禮貌性延遲
5 response = session.get(url, timeout=15)
6 # 偵測登入牆
7 if "ap_email" in response.text or "Amazon Sign-In" in response.text:
8 raise Exception("偵測到登入牆 — 請更新你的 cookies")
9 if response.status_code != 200:
10 raise Exception(f"HTTP {response.status_code}")
11 return BeautifulSoup(response.text, "lxml")
還有一個小技巧很有用:在打開評論頁之前,先拜訪商品頁。這會讓你的 session 更像一般自然瀏覽。
1# 先拜訪商品頁(模擬真實瀏覽)
2product_url = f"https://www.amazon.com/dp/{asin}"
3session.get(product_url, timeout=15)
4time.sleep(random.uniform(1, 3))
5# 再進評論頁
6reviews_url = f"https://www.amazon.com/product-reviews/{asin}/ref=cm_cr_arp_d_viewopt_srt?sortBy=recent&pageNumber=1"
7soup = get_soup(session, reviews_url)
步驟 3:用穩定選擇器擷取評論資料(別再依賴 CSS class)
這是大多數 2022–2023 教學會失敗的地方。Amazon 會混淆 CSS class 名稱——它們會週期性變動,正如某位在論壇上抱怨的開發者所說:「它們根本沒有一個穩定規律可循,連 span 標籤的 class 名稱都沒有一致模式。」
解法是:Amazon 在評論元素上使用 data-hook 屬性,而這些屬性相當穩定。它們是語意化識別碼,也是 Amazon 前端程式碼所依賴的,因此不會被隨意隨機化。
| 評論欄位 | 穩定選擇器(data-hook) | 脆弱選擇器(class) |
|---|---|---|
| 評論內容 | [data-hook="review-body"] | .review-text-content(會變) |
| 星等 | [data-hook="review-star-rating"] | .a-icon-alt(容易混淆) |
| 評論標題 | [data-hook="review-title"] | .review-title(有時可用) |
| 作者名稱 | span.a-profile-name | 相對穩定 |
| 評論日期 | [data-hook="review-date"] | .review-date(依地區而異) |
| 已驗證購買 | [data-hook="avp-badge"] | span.a-size-mini |
以下是使用 data-hook 選擇器的擷取程式:
1import re
2def extract_reviews(soup):
3 reviews = []
4 review_divs = soup.select('[data-hook="review"]')
5 for div in review_divs:
6 # 星等
7 rating_el = div.select_one('[data-hook="review-star-rating"]')
8 rating = None
9 if rating_el:
10 rating_text = rating_el.get_text(strip=True)
11 match = re.search(r'(\d\.?\d?)', rating_text)
12 if match:
13 rating = float(match.group(1))
14 # 標題
15 title_el = div.select_one('[data-hook="review-title"]')
16 title = title_el.get_text(strip=True) if title_el else ""
17 # 內容
18 body_el = div.select_one('[data-hook="review-body"]')
19 body = body_el.get_text(strip=True) if body_el else ""
20 # 作者
21 author_el = div.select_one('span.a-profile-name')
22 author = author_el.get_text(strip=True) if author_el else ""
23 # 日期與國家
24 date_el = div.select_one('[data-hook="review-date"]')
25 date_text = date_el.get_text(strip=True) if date_el else ""
26 # 格式:"Reviewed in the United States on January 15, 2025"
27 country_match = re.search(r'Reviewed in (.+?) on', date_text)
28 date_match = re.search(r'on (.+)$', date_text)
29 country = country_match.group(1) if country_match else ""
30 date = date_match.group(1) if date_match else ""
31 # 已驗證購買
32 verified_el = div.select_one('[data-hook="avp-badge"]')
33 verified = bool(verified_el)
34 reviews.append({
35 "author": author,
36 "rating": rating,
37 "title": title,
38 "content": body,
39 "date": date,
40 "country": country,
41 "verified": verified,
42 })
43 return reviews
我已經把這組選擇器拿去對多個 ASIN 連續跑了好幾個月,data-hook 屬性一次都沒變過。反觀 CSS class,在同一段時間內至少輪替了兩次。
步驟 4:處理分頁與 Amazon 的 10 頁上限
Amazon 會把 pageNumber 參數限制在 10 頁、每頁 10 則評論——也就是每種篩選組合最多約 100 則評論。當你翻到第 10 頁後,「下一頁」按鈕就會直接消失。
基本分頁迴圈:
1all_reviews = []
2for page in range(1, 11):
3 url = f"https://www.amazon.com/product-reviews/{asin}/ref=cm_cr_arp_d_viewopt_srt?sortBy=recent&pageNumber={page}"
4 soup = get_soup(session, url)
5 page_reviews = extract_reviews(soup)
6 if not page_reviews:
7 break # 這一頁已經沒有更多評論
8 all_reviews.extend(page_reviews)
9 print(f"第 {page} 頁:{len(page_reviews)} 則評論")
如何抓到超過 10 頁的 Amazon 評論
解法是分組切桶。每一組 filterByStar 與 sortBy 的組合,都有自己獨立的 10 頁視窗。
星等篩選值: one_star、two_star、three_star、four_star、five_star
排序值: recent、helpful(預設)
把 5 種星等篩選 × 2 種排序全部組合起來,你最多可以接觸到 100 頁、每個商品 1,000 則評論——而且對於星等分布不平均的商品,通常還能接近完整評論集合。
1star_filters = ["one_star", "two_star", "three_star", "four_star", "five_star"]
2sort_orders = ["recent", "helpful"]
3all_reviews = []
4seen_titles = set() # 簡單去重
5for star in star_filters:
6 for sort in sort_orders:
7 for page in range(1, 11):
8 url = (
9 f"https://www.amazon.com/product-reviews/{asin}"
10 f"?filterByStar={star}&sortBy={sort}&pageNumber={page}"
11 )
12 soup = get_soup(session, url)
13 page_reviews = extract_reviews(soup)
14 if not page_reviews:
15 break
16 for review in page_reviews:
17 # 以標題 + 作者作為去重鍵
18 key = (review["title"], review["author"])
19 if key not in seen_titles:
20 seen_titles.add(key)
21 all_reviews.append(review)
22 print(f"[{star}/{sort}] 第 {page} 頁:{len(page_reviews)} 則評論")
23print(f"總共唯一評論數:{len(all_reviews)}")
不同桶之間會有重疊,所以去重很重要。我會用評論標題 + 作者名稱組合成一個快速鍵值——雖然不是完美,但足以抓出大多數重複資料。
步驟 5:閃避反機器人防禦(輪替、限速、重試)
Amazon 使用 AWS WAF Bot Control,而且近年明顯更積極了。只靠單一層防護(例如只換 User-Agent、只加延遲)已經不夠。
| 技術 | 實作方式 |
|---|---|
| 輪替 User-Agent | 從 10+ 種真實瀏覽器字串中隨機選擇 |
| 指數退避 | 遇到 503 時,重試間隔為 2s → 4s → 8s |
| 請求限速 | 每頁之間加入 random.uniform(2, 5) 秒延遲 |
| 代理輪替 | 透過住宅代理循環切換 |
| Session 指紋 | 每個 session 維持一致的 cookies + headers |
| TLS 仿真 | 生產環境建議改用 curl_cffi,不要只用原生 requests |
適合正式環境的重試包裝器:
1import time, random
2USER_AGENTS = [
3 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
4 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
5 "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0",
6 "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15",
7 "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
8]
9def scrape_with_retries(session, url, max_retries=3):
10 for attempt in range(max_retries):
11 try:
12 session.headers["User-Agent"] = random.choice(USER_AGENTS)
13 time.sleep(random.uniform(2, 5))
14 response = session.get(url, timeout=15)
15 # 偵測封鎖
16 if "validateCaptcha" in response.url or "Robot Check" in response.text:
17 wait = (2 ** attempt) * 5
18 print(f"偵測到 CAPTCHA。等待 {wait} 秒...")
19 time.sleep(wait)
20 continue
21 if response.status_code in (429, 503):
22 wait = (2 ** attempt) * 2
23 print(f"觸發速率限制({response.status_code})。等待 {wait} 秒...")
24 time.sleep(wait)
25 continue
26 if "ap_email" in response.text:
27 raise Exception("登入牆 — cookies 已失效")
28 return BeautifulSoup(response.text, "lxml")
29 except Exception as e:
30 if attempt == max_retries - 1:
31 raise
32 print(f"第 {attempt + 1} 次嘗試失敗:{e}")
33 return None
關於代理:Amazon (像是 AWS、GCP、Azure、DigitalOcean)。如果你要抓超過幾百頁,住宅代理幾乎是必需的——費用大概每月 50–200 美元以上,視流量而定。若只是小型專案(每天少於 100 次請求),從家用 IP 謹慎限速通常就夠用。
Amazon 也會檢查 TLS 指紋。Python 原生 requests 套件有一個 。若是正式爬蟲,建議考慮 curl_cffi,它可以模擬真實瀏覽器的 TLS 堆疊。若只是教學規模(幾百頁),requests 搭配良好 headers 通常就能完成任務。
步驟 6:把抓到的 Amazon 評論匯出成 CSV 或 Excel
當你收集完評論後,用 pandas 匯出成可使用格式其實很簡單:
1import pandas as pd
2df = pd.DataFrame(all_reviews)
3df.to_csv("amazon_reviews.csv", index=False)
4print(f"已匯出 {len(df)} 則評論到 amazon_reviews.csv")
範例輸出:
| author | rating | title | content | date | country | verified |
|---|---|---|---|---|---|---|
| Sarah M. | 5.0 | 今年最值得的購買 | 電池可以撐整天,螢幕非常漂亮... | January 15, 2025 | the United States | True |
| Mike T. | 2.0 | 兩週後就失望了 | 充電孔壞掉了... | February 3, 2025 | the United States | True |
| Priya K. | 4.0 | 以這個價格來說很划算 | 我需要的功能它都有,重度使用時會稍微卡一下... | March 10, 2025 | the United States | False |
若要匯出 Excel:df.to_excel("amazon_reviews.xlsx", index=False)(需要 openpyxl)。
若要匯入 Google Sheets,gspread 雖然可行,但需要 ——建立專案、啟用兩個 API、產生服務帳戶憑證、分享試算表。如果你覺得這些設定比實際抓資料還多,那你沒有看錯。(這也是像 這類可一鍵匯出到 Google Sheets 的工具,開始讓人覺得很香的原因之一。)
加碼:用 5 行 Python 為評論加入情緒分析
多數爬蟲教學只做到 CSV 匯出就結束了。但真正能把原始資料變成商業決策的,是情緒分數。
最快的基礎做法是用 TextBlob:
1from textblob import TextBlob
2df["sentiment"] = df["content"].apply(lambda x: TextBlob(str(x)).sentiment.polarity)
這會替每則評論產生 -1.0(非常負面)到 +1.0(非常正面)的極性分數。範例輸出:
| content(截斷) | rating | sentiment |
|---|---|---|
| "電池可以撐整天,螢幕非常漂亮..." | 5.0 | 0.65 |
| "充電孔壞掉了..." | 2.0 | -0.40 |
| "我需要的功能它都有,重度使用時..." | 4.0 | 0.25 |
| "爛透了,立刻退貨。" | 1.0 | -0.75 |
| "還可以,沒什麼特別但能用。" | 3.0 | 0.10 |
最值得注意的是那些不一致的資料列——例如 3 星評論卻是正向措辭,或 5 星評論卻帶有負面語氣。這些落差往往能揭露星等分數看不出來的細膩顧客觀點。

若要達到可用於正式環境的準確度,建議使用 Hugging Face Transformers。,而且 ,明顯優於傳統詞典式工具。nlptown/bert-base-multilingual-uncased-sentiment 模型甚至可以直接預測 1–5 星評分:
1from transformers import pipeline
2clf = pipeline("sentiment-analysis",
3 model="nlptown/bert-base-multilingual-uncased-sentiment")
4df["predicted_stars"] = df["content"].apply(
5 lambda x: int(clf(str(x)[:512])[0]["label"][0])
6)
Amazon 評論呈現 ——5 星會出現明顯高峰,1 星也會有一個較小高峰,中間則是低谷。這代表平均星等往往不是判斷實際產品品質的好指標。把 1 星群組拆出來,去找重複主題——通常那裡藏著一個可修正的單一缺陷。
誠實的取捨:DIY Python vs. 付費爬蟲 API vs. Thunderbit
我長期維護過 Amazon 的 Python 爬蟲,所以老實說:它們會壞。選擇器會變、cookies 會過期、Amazon 會推出新的反機器人防護層,然後你的星期六早上就變成在修爬蟲,而不是分析資料。論壇上的使用者也常抱怨同樣的事——那些「上個月還能跑」的 DIY 腳本,現在卻需要不停補丁。
以下是三種主要方式的比較:
| 比較項目 | DIY Python(BS4/Selenium) | 付費爬蟲 API | Thunderbit(無程式碼) |
|---|---|---|---|
| 設定時間 | 1–3 小時 | 30 分鐘(API 金鑰) | 2 分鐘 |
| 成本 | 免費(+ 代理成本) | 每月 50–200 美元以上 | 有免費方案 |
| 登入牆處理 | 手動管理 cookies | 通常已處理 | 自動處理 |
| 維護成本 | 高(選擇器易壞) | 低(由供應商維護) | 幾乎零維護(AI 自適應) |
| 分頁處理 | 需自行撰寫程式 | 內建 | 內建 |
| 多國站支援 | 每個網域各自 session | 通常支援 | 基於瀏覽器=依你的地區 |
| 情緒分析 | 需自行加程式 | 有時內建 | 匯出到 Sheets,任你分析 |
| 最適合 | 學習、完全掌控 | 大規模/正式流程 | 快速拉資料、非工程團隊 |
Python 給你完整掌控,而且確實是理解網頁爬蟲底層運作的最佳方式。但如果你的需求是「週五前我要把競品評論資料放進試算表」,而不是「我要打造一條正式資料管線」,那維護自製爬蟲的成本可能就不太划算。
能在幾次點擊內處理驗證、選擇器、分頁與匯出——你可以試試 ,看看是否符合你的工作流程。隨著 Amazon 持續加強反機器人措施,能即時調整的 AI 工具,會越來越從「加分項」變成「必需品」。
你也可以瀏覽我們的 ,觀看各種爬取流程的影片教學。
常見問題
1. 不登入也能抓 Amazon 評論嗎?
可以,但只能抓到商品詳情頁(/dp/{ASIN}/)上顯示的約 8 則「精選評論」。完整評論頁的排序、篩選與分頁功能,自 2024 年底起都需要驗證。對大多數商業應用來說,你還是得處理登入牆。
2. 抓 Amazon 評論合法嗎?
Amazon 的服務條款禁止自動化抓取。不過,近年的美國判例(Meta v. Bright Data,2024;hiQ v. LinkedIn)支持抓取公開可見資料。若是登入後才看得到的內容,法律風險會更高,因為你已經同意了 Amazon 的條款。商業用途請諮詢法律顧問。
3. 每個商品最多能抓多少則 Amazon 評論?
Amazon 將每個排序與星等篩選組合的評論頁限制為 10 頁。若使用 5 種星等篩選 × 2 種排序,最多可接觸到 100 頁(約 1,000 則評論)/ 每個商品。若再加上關鍵字篩選,理論上上限更高,但重複資料會明顯增加。
4. 抓 Amazon 評論最好的 Python 函式庫是什麼?
requests + BeautifulSoup 是最常見也最穩定的組合,適合解析靜態 HTML。若需要 JavaScript 渲染,Selenium 會更有用。若想要免寫程式、又能自動處理登入牆與分頁,可以試試 。
5. 抓 Amazon 時怎麼避免被封鎖?
從 10+ 種真實瀏覽器的 User-Agent 字串中輪替、每次請求之間加入 2–5 秒隨機延遲、在 503/429 錯誤時使用指數退避、規模化時改用住宅代理(資料中心 IP 通常會先被封)、並在各次請求中維持一致的 session cookies。若想完全免維護,Thunderbit 會透過你的瀏覽器 session 自動處理反機器人防護。
延伸閱讀
