用 Python 抓取 Twitter 資料:繞過 API 限制

最後更新:May 28, 2026
用 Python 抓取 Twitter 資料:繞過 API 限制
AI 摘要
本文介紹如何使用 Python 抓取 Twitter/X 公開資料,並說明如何在遵守規範的前提下,避開 API 限制取得推文、趨勢與個人檔案資訊。同時也比較了 Selenium、Playwright 與 BeautifulSoup 等 Python 套件,並示範 Thunderbit 這類無程式碼 AI 網頁爬蟲如何讓 Twitter 資料擷取更快速、更簡單,適合開發者與非工程師使用。

全世界都在談論,而這些對話有很大一部分發生在 X 上(大多數人現在還是叫它 Twitter)。根據近期第三方估算,X 在 2026 年約有 5.61 億月活躍用戶——雖然比 2025 年小幅下滑了幾個百分點,但每天仍然有 數億則貼文湧入,依舊是公開討論的超大資訊流。對企業、研究人員,以及任何想掌握即時趨勢、情緒或民意的人來說,X 數據可說是一座金礦。但問題來了:要取得這些資料變得越來越困難。X 的 API 已改為按使用量計費,而大多數便宜的入門管道也都消失了,這就是為什麼這麼多人開始尋找替代方案。

這時候,Python 網頁爬蟲,以及像 Thunderbit 這類工具就派上用場了。無論你是想自動化資料蒐集的開發者,還是只想為下一波行銷活動抓取熱門話題、完全不會寫程式的人,都有適合你的解法。在這篇指南裡,我會帶你了解如何用 Python 抓取 Twitter 資料(不需要 API),如何更合規地操作,以及 Thunderbit 如何讓整個流程對所有人都更簡單。

什麼是 Twitter 資料爬取?為什麼它很重要?

從本質上來說,Twitter 資料爬取就是直接讀取 Twitter 公開網頁上的資訊,例如推文、個人檔案、標籤和趨勢,而不是透過官方 API。這可以手動完成(有人真的會一路複製貼上),也可以透過自動化工具和腳本更有效率地達成。

為什麼這很重要?因為 Twitter 資料支撐了大量商業與研究應用:

The ROI of Automating Hotel Sales Lead Generation and Management - visual selection (1).png

  • 趨勢分析: 即時掌握當下熱門話題,從爆紅迷因到突發新聞都不漏接。
  • 情緒監測: 了解大眾對產品、品牌或政治事件的反應。
  • 名單開發: 找出正在談論你產業的潛在客戶或意見領袖。
  • 競品追蹤: 觀察競爭對手在說什麼,也看看外界如何評論他們。

過去,X(Twitter)API 一直是取得這類資料的首選。但情況已經大幅改變:2023 年免費存取結束後,到了 2026 年 2 月 6 日,X 又將新開發者預設改為按使用量計費——沒有免費方案,而且舊有的 Basic 與 Pro 方案只保留給原本已訂閱的用戶。之後價格也再次調整,所以單次請求成本可能會隨季度變動。API 另外還會 限制你能抓到的內容與速度,並要求以應用層級完成驗證。

也因此,使用 Python 或無程式碼工具進行網頁爬取,成了需要更高彈性、更廣泛存取權,或只是想避開 API 麻煩的人們的新選擇。

用 Python 抓取 Twitter:繞過 API 限制

先來講點技術層面的內容。當你用 Python 抓取 Twitter 資料時,本質上是在自動化瀏覽器,讓它造訪 Twitter 頁面、讀取 HTML,並把你需要的資訊擷取出來。這代表你不必受限於 API 額度,也不需要為存取權付費——你只是讀取原本公開可見的內容。

Twitter 爬取常用的 Python 套件

以下是不用 API 抓取 Twitter 時最常見的幾個工具:

  • BeautifulSoup:非常適合解析靜態 HTML。速度快、輕量,但對動態內容(像無限捲動)就比較吃力。
  • Selenium:可自動控制真實瀏覽器(Chrome、Firefox 等),非常適合像 Twitter 這種動態網站。能處理 JavaScript、點擊和捲動。
  • Playwright:近年崛起的新選擇。和 Selenium 類似,但對現代 Web 應用來說通常更快、更穩定。

用這些工具,你可以取得:

  • 公開推文(文字、時間戳、喜歡數、轉推數)
  • 使用者個人資料(簡介、粉絲數、加入日期)
  • 熱門趨勢
  • 標籤與搜尋結果

但別忘了:你只能抓取公開網頁上看得到的內容,私人帳號和私訊都不能碰。

Python 爬蟲套件比較

我們來直接比較一下優缺點:

套件最適合用途支援 JavaScript 嗎?速度易用性備註
BeautifulSoup靜態 HTML 解析容易搭配 requests 使用,適合簡單頁面
Selenium動態內容、UI 操作中等中等適合 JS 很多的網站
Playwright現代動態網站最快中等支援非同步,穩定性通常比 Selenium 更好

對於高度依賴前端渲染與無限捲動的 X 來說,Selenium 和 Playwright 通常更適合。到了 2026 年,大多數撰寫新爬蟲的團隊會選擇 Playwright——它不會像 Selenium 那樣注入 anti-bot 系統會拿來辨識的 cdc_ 標記,而且在長時間捲動時間軸時,它的非同步 API 也更能撐住流程(Scrapfly)。不過話說回來,這兩者都不是隱形的——X 的機器人偵測仍然會攔截預設的無頭瀏覽器,而工具本身其實不如代理設定與請求節奏重要。

遵守規範:如何負責任地爬取 Twitter 資料

在你把 Python 腳本跑起來之前,先聊聊遊戲規則。

  • 尊重 X 的條款: X(前 Twitter)在 2026 年 1 月 15 日再次更新了 服務條款,開發者協議也明確禁止使用 API 或平台資料來微調或訓練基礎模型。自 2023 年的 ToS 更新以來,未經書面同意的爬取與抓取就已被禁止,而 X 也持續在執行這項規範——甚至包含依照存取貼文數量計算的損害賠償條款。就實務上來說,抓取公開頁面用於個人、研究或小規模非商業用途,和正式授權之間仍有不同討論空間,但官方並未明文允許,你應該預設相關規則都適用於你。
  • 不要太激進地抓: 請使用合理延遲(每次請求間隔 2–5 秒)、限制每小時抓取頁數,並避免 24/7 持續執行腳本。這能降低被標記為機器人或 IP 被封鎖的風險(ScrapingBee)。
  • 只抓公開資料: 不要嘗試存取私人帳號、私訊,或繞過登入驗證。
  • 注意法律風險: 如果你蒐集的是個人資料(像 email 或姓名),請留意 GDPR 等隱私法規。務必對敏感資訊做匿名化或彙總處理。

若想更深入了解道德爬取,可參考 AdsPower 的法律指南

逐步教學:如何使用 Python 抓取 Twitter 資料

接下來我們動手做。以下是一個使用 Python 與 Selenium 從公開 Twitter 個人檔案抓取推文的基本流程。

1. 建立環境

先安裝必要套件:

pip install selenium pandas webdriver-manager

2. 撰寫爬蟲

下面是一個簡單的起始腳本:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import pandas as pd
import time

# 建立 driver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

# 前往 Twitter 個人檔案頁(請替換成你的目標頁面)
profile_url = '<https://twitter.com/nytimes>'
driver.get(profile_url)
time.sleep(5)  # 等待頁面載入

# 向下捲動以載入更多推文
for _ in range(3):  # 可自行調整以抓取更多推文
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(3)

# 擷取推文
tweets = driver.find_elements(By.CSS_SELECTOR, '[data-testid="tweetText"]')
tweet_texts = [tweet.text for tweet in tweets]

# 擷取時間戳
timestamps = driver.find_elements(By.CSS_SELECTOR, 'time')
tweet_times = [ts.get_attribute('datetime') for ts in timestamps]

# 合併成 DataFrame
df = pd.DataFrame({'Tweet': tweet_texts, 'Timestamp': tweet_times})

# 匯出成 Excel
df.to_excel('twitter_scrape.xlsx', index=False)

driver.quit()

小提醒:

  • 可以調整捲動迴圈次數,載入更多推文。
  • 你也可以透過對應的 CSS selector 抓取喜歡數、轉推數與回覆數(ScrapingBee)。
  • 如果出錯,先檢查 Twitter 是否更改了頁面結構,因為 selector 可能需要更新。

解析與匯出 Twitter 資料

上面的腳本已經會直接匯出到 Excel,但你也可以用:

df.to_csv('twitter_scrape.csv', index=False)

建議整理欄位:推文文字、時間戳、使用者名稱、喜歡數、轉推數、回覆數。這樣後續不管是在 Excel、Google Sheets,還是 Python 裡分析都會更方便。

2026 年的新選擇:讓 AI 寫程式代理幫你產生爬蟲

如果你不想自己寫 Selenium,而是希望直接用英文描述需求,近一年出現的 AI 寫程式代理其實已經能幫你完成大部分腳本。像 Claude Code(Anthropic 的終端機 CLI)或 OpenAI Codex,都是你只要丟一句像「寫一段使用 Selenium 的 Python 腳本,開啟公開 X 個人檔案、捲動 5 次、擷取推文文字與時間戳並匯出到 Excel」的提示,它就能產出一份接近上面範例、可直接執行的程式。

但也有幾個誠實的限制:

  • 第一版通常不會自動處理 X 的 anti-bot 防護——你還是得加入延遲、輪換 user agent,而且多跑幾百頁後,session 很可能就開始不穩。
  • 當 X 發布版面變動時,selector 會失效。你可以把新的 HTML 再丟回代理讓它修,但這不是魔法。
  • 如果只是一次性的任務,Browser Use 會更適合——它能直接用自然語言指令驅動真實瀏覽器,所以小型工作甚至不用先寫腳本。

如果你想快速把樣板程式寫出來,這條路很實用;但如果你需要長時間穩定運行,那最後還是得回到維護真正的程式碼,不管是人寫的還是 agent 寫的。

Thunderbit:抓取 Twitter 資料的無程式碼解法

2025 年 6 款最佳 Twitter(x.com)爬蟲 Get Started Free

那如果你不是工程師,或者只是想省時間呢?這就是 Thunderbit 大顯身手的地方。Thunderbit 是一款 AI 驅動的 Chrome 擴充功能,只要點幾下,就能抓取 Twitter 資料——不用 Python、不用安裝環境、也沒有繁瑣設定。

screenshot-20250801-172458.png

Thunderbit 如何用在 Twitter 上

  1. 在 Chrome 中開啟 Twitter。
  2. 點擊 Thunderbit 擴充功能。
  3. 描述你要什麼: 用自然語言輸入,例如「擷取這個頁面上的所有推文、日期和使用者名稱。」
  4. 讓 AI 建議欄位: Thunderbit 會掃描頁面並推薦欄位(推文文字、時間戳、喜歡數等)。
  5. 按下 Scrape: Thunderbit 會抓取資料,必要時也能連同子頁面一起處理。
  6. 匯出: 可立即下載到 Excel、Google Sheets、Airtable、Notion 或 CSV,免費又即時。

Thunderbit 甚至還提供 Twitter 貼文與個人檔案抓取範本,所以你可以直接跳過設定,馬上進入分析。

為什麼它很強? 因為你完全不需要處理程式碼、driver 或 CSS selector。Thunderbit 的 AI 會自動適應 Twitter 的版面變動,甚至能在抓取時順便幫你補強資料內容(摘要、分類、翻譯)(Thunderbit)。

立即試用 Thunderbit 抓取 Twitter

Thunderbit 對比 Python:哪個更適合你?

來比較一下兩種做法:

功能Python 爬取Thunderbit(無程式碼)
需要寫程式嗎需要不需要
設定時間30 分鐘以上1–2 分鐘
支援動態頁面是(Selenium/Playwright)是(AI 驅動)
自訂能力很高(如果你懂程式)很高(透過 AI 提示詞)
維護成本手動(需更新腳本)AI 自動適應
匯出選項CSV、Excel、JSONExcel、Sheets、Notion、CSV
最適合對象開發者、資料專業人員商業用戶、非工程師

如果你夠技術、又想保有完全控制權,Python 當然很強。但對多數商業用戶來說,Thunderbit 更快、更簡單,而且幾乎不用維護。(而且對,你可以免費試用——Thunderbit Chrome Extension。)

實戰範例:用 Python 與 Thunderbit 抓取 Twitter 趨勢

我們把理論落地。假設你想追蹤 Twitter 上的熱門話題,並匯出到 Excel 做分析。

用 Python

你可以用 Selenium 或 Playwright:

  • 開啟 Twitter Explore 頁面
  • 向下捲動載入熱門趨勢。
  • 擷取趨勢名稱、推文數和網址。
  • 儲存成 Excel 或 CSV。

程式範例:

# ...(前面設定同上)
driver.get('<https://twitter.com/explore>')
time.sleep(5)

trends = driver.find_elements(By.CSS_SELECTOR, '[data-testid="trend"]')
trend_names = [trend.text for trend in trends]

df = pd.DataFrame({'Trend': trend_names})
df.to_excel('twitter_trends.xlsx', index=False)

用 Thunderbit

  • 在 Chrome 中開啟 Twitter 的 Explore 頁面。
  • 點擊 Thunderbit,選擇 Twitter Trends Scraper 範本,或直接描述:「擷取所有熱門趨勢與推文數。」
  • 按下 Scrape。
  • 直接匯出到 Excel、Google Sheets 或 Notion。

結果: 兩種方法都能拿到資料,但 Thunderbit 在幾秒內就能完成,無需寫程式,也較不容易因 Twitter 更新網站而壞掉。

優化你的 Twitter 資料流程:結合 Python 與 Thunderbit

將網站資料抓到 Excel 的最簡單方法 Get Started Free

這裡才是真正有趣的地方。你不必二選一——把兩者結合起來,效率會更高:

  • 用 Thunderbit 快速、無程式碼地抓取 Twitter 貼文、個人檔案或趨勢,並匯出到 Excel 或 Google Sheets。
  • 用 Python 進行進階分析: 匯入已匯出的資料,執行情緒分析、NLP 或自訂視覺化。
  • 用 Thunderbit 排程自動化: 設定定期抓取,讓資料集保持最新(Thunderbit Docs)。
  • 整合 Airtable 或 Notion: Thunderbit 可直接匯出,讓團隊能協作處理即時資料。

這種混合式做法,能同時擁有無程式碼的速度,以及程式化帶來的彈性。

用 Thunderbit 抓取 Twitter 資料

Twitter 資料爬取的除錯與實用技巧

Twitter 一直在變,所以爬取過程不一定都很順。以下是我最推薦的幾個技巧:

  • Selector 會變: 如果你的 Python 腳本壞了,先看看是不是 Twitter 改了 HTML 結構。Thunderbit 這類工具會自動適應,但腳本通常需要微調。
  • 封鎖 / IP 封鎖: 使用延遲、必要時輪換 IP,並避免過於激進地抓取。
  • 動態內容: 如果是無限捲動頁面,請用 Selenium 或 Playwright 來捲動並載入更多資料。
  • 法律合規: 務必檢查 Twitter 最新條款,並以負責任的方式爬取。

若想進一步排除問題,可參考 ScrapingBee 的指南) 和 Thunderbit 的部落格

結論與重點整理

Twitter 資料比以往更有價值,也更難取得。無論你是要追蹤趨勢、監測情緒,還是建立潛在客戶名單,爬取通常都是最有彈性的做法。Python 能讓技術人員完全掌握流程,而 Thunderbit 則用無程式碼、AI 驅動的方式,讓更多人也能輕鬆上手。

  • Python 爬取: 最適合需要客製化流程、也不介意維護工作的開發者。
  • Thunderbit: 非常適合想快速取得結果、完全不寫程式的商務用戶、行銷人員與研究者。
  • 混合工作流: 先用 Thunderbit 匯出,再用 Python 分析,打造你的資料管線自動化。

但請永遠記得:負責任地爬取,尊重隱私與法律界線,並隨著 Twitter 的變化保持更新。對話不會停,而你的資料流也不該停。

常見問題

1. 用 Python 或 Thunderbit 抓取 Twitter 資料是否合法?

實務上,抓取公開 X 資料供個人或研究用途非常常見,但 X 的 服務條款——最近一次在 2026 年 1 月 15 日修訂——禁止未經授權的爬取與抓取,而開發者協議也禁止使用 X 資料訓練 AI 模型。在大規模執行前,請先檢視最新條款,且絕對不要碰私人帳號或需要登入才能看到的內容。

2. 使用 Twitter API 和網頁爬取有什麼差別?

API 提供結構化且較穩定的存取,但在 2026 年,新開發者已改為按使用量計費,且沒有免費方案——成本會隨你讀取或寫入的貼文數量增加。網頁爬取則是直接讀取公開網站,因此能避開這些限制,但你要自行承擔維護成本:X 一旦改版,腳本就可能失效,而且你得自己處理 anti-bot 偵測。

3. 抓取 Twitter 時,哪個 Python 套件最好?

如果是靜態內容,BeautifulSoup 快又好上手。如果是動態內容(像無限捲動),Selenium 或 Playwright 會更合適。一般來說,Playwright 對現代 Web 應用更快也更穩定。

4. Thunderbit 如何讓 Twitter 爬取更簡單?

Thunderbit 會用 AI 讀取 Twitter 頁面、建議欄位,並只需幾下點擊就能擷取資料——完全不需要寫程式。它能適應版面變動,並直接匯出到 Excel、Google Sheets、Notion 或 Airtable。

5. 可以把 Thunderbit 和 Python 結合起來做進階流程嗎?

當然可以!你可以先用 Thunderbit 抓取並匯出資料,再用 Python 做進一步分析或處理。這種混合式做法,能同時兼顧速度與彈性,適合各種 Twitter 資料專案。

延伸閱讀:

立即試用 Thunderbit AI 網頁爬蟲抓取 Twitter Get Started Free

Shuai Guan
Shuai Guan
Thunderbit 執行長|AI 資料自動化專家 Shuai Guan 是 Thunderbit 的執行長,畢業於密西根大學工程學院。憑藉近十年在科技與 SaaS 架構領域的經驗,他專注於把複雜的 AI 模型轉化為實用、免程式碼的資料擷取工具。在這個部落格中,他分享經過實戰驗證、毫無保留的網頁爬取與自動化策略見解,幫助你打造更聰明、以數據驅動的工作流程。當他不在優化資料流程時,也會把同樣的細膩與專注投入到攝影興趣中。
Topics
網頁爬蟲工具AI 網頁爬蟲

試試 Thunderbit

只要 2 下點擊,就能抓取名單與其他資料。由 AI 驅動。

取得 Thunderbit 完全免費
用 AI 擷取資料
輕鬆將資料轉移到 Google Sheets、Airtable 或 Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week