如果你曾經想追蹤 Twitter(現在叫「X」)上的熱門話題,你一定體會過那種像在消防水管下喝水的感覺——畢竟這個平台每天湧現超過 。對企業、研究人員,或任何想掌握全球即時對話的人來說,Twitter 數據就是一座金礦。但來到 2025 年,想抓取推文早已不像以前那麼輕鬆。Twitter API 開始收費、網站防禦機制越來越強,和爬蟲的攻防戰也愈演愈烈,想拿到你要的資料,真的像在數位叢林裡闖關。
還好,Python 依然是抓取推文的萬用神器——只要你懂得選對工具、避開最新限制。這篇教學會帶你用 Python(還有 Thunderbit 幫忙)一步步抓取 Twitter 推文,分享最新繞過限制的招式,還會教你怎麼把原始推文數據變成真正有價值的商業洞察。
用 Python 從 Twitter 抓取推文是什麼意思?
簡單說,用 Python 抓取 Twitter 推文,就是用程式自動把推文的內容、作者、時間、按讚數、轉推數等資料撈下來,讓你能在 Twitter 以外的地方自由分析。你可以把它想像成打造一個專屬的 Twitter 儀表板,想怎麼切、怎麼分析、怎麼視覺化都隨你。
主要有兩種方式:
- API 抓取: 透過 Twitter 官方 API(像 Tweepy 套件),直接從 Twitter 伺服器拿到結構化資料。這方法穩定又官方,但限制多、2025 年起收費也不便宜。
- 網頁爬蟲: 用 Snscrape 或瀏覽器自動化工具,直接從 Twitter 公開網頁撈資料,不用 API 金鑰。這能繞過部分限制,但比較容易失效,要隨時追蹤 Twitter 的變動。
你能抓到的常見欄位有:
- 推文內容
- 推文 ID 和網址
- 發布時間(日期和時間)
- 用戶名稱和個人資料
- 互動數據(按讚、轉推、回覆、瀏覽次數)
- Hashtag 和提及
- 媒體連結(圖片、影片)
- 對話脈絡(像回覆、串文)
基本上,只要你在 Twitter 網頁上看得到的資訊,理論上都能被抓下來——至少目前還行。
為什麼要抓取 Twitter 推文?企業常見應用場景
那為什麼要這麼費工?因為 Twitter 是全世界討論一切的地方——你的品牌、競爭對手、最新趨勢,甚至爆紅的貓咪影片。2025 年,很多團隊都這樣用抓下來的 Twitter 數據:
| 應用場景 | 受益部門 | 抓取資料 | 商業價值 |
|---|---|---|---|
| 品牌監控 | 公關、客服、行銷 | 提及、情緒、回覆 | 即時回饋、危機預警、提升客戶互動 |
| 競爭對手分析 | 產品、業務 | 競品推文、互動數據 | 搶先掌握對手動向、產品發表或客戶痛點 |
| 活動成效追蹤 | 行銷 | Hashtag 推文、KOL | ROI 追蹤、找出影響者、優化活動策略 |
| 潛在客戶開發 | 業務 | 購買意圖推文、用戶資料 | 建立潛在名單、加速成交流程 |
| 市場調查 | 策略、產品 | 趨勢推文、意見 | 以數據驅動產品開發與市場定位 |
至於投資報酬率?。如果你沒在關注 Twitter 上關於品牌或產業的討論,就等於錯過了即時、可行的情報。

Python 抓取 Twitter 推文的各種方法總覽
Python 生態系有很多抓取 Twitter 的工具,但自從 API 政策變動、反爬蟲升級後,並不是每種方法都還適用。2025 年主流選項比較如下:
| 方法 | 易用性 | 資料存取與限制 | 維護難度 | 成本 |
|---|---|---|---|---|
| Twitter API (Tweepy) | 中等 | 官方、但有限制 | 低 | 高($100+/月) |
| Python 爬蟲 (Snscrape) | 開發者易上手 | 廣泛、免 API 金鑰 | 中(常需修正) | 免費(代理另計) |
| 自訂網頁爬蟲 | 困難 | 看到的都能抓 | 非常高 | 低(時間成本) |
| Thunderbit(AI 網頁爬蟲) | 非常簡單(免寫程式) | 網頁上可見皆可抓 | 低(AI 自動適應) | 免費+付費方案 |
下面就來一一解析。
Python 套件實戰:Tweepy、Snscrape 等
Tweepy 適合用來 API 抓取。它穩定、文件齊全,能拿到結構化推文資料——前提是你願意付費。2025 年,,要抓完整歷史資料還得申請企業或學術方案。
Snscrape 則是開源社群的最愛:不用 API 金鑰、不用付費,純 Python 就能抓 Twitter 公開網頁資料。適合抓歷史推文、大量數據,或想避開 API 限制時用。缺點是 Twitter 反爬蟲機制常常變,Snscrape 可能幾週就失效一次,要隨時更新和排錯。
其他像 Twint 這類工具因為維護問題已經不推薦,2025 年主流還是 Tweepy 和 Snscrape。
網頁爬蟲抓取 Twitter:什麼時候該用?
有時候,API 或 Snscrape 抓不到你要的資料——像串文所有回覆、用戶追蹤名單等。這時就得自己寫爬蟲,用 requests、BeautifulSoup 或瀏覽器自動化(Selenium/Playwright)來抓。不過要注意:Twitter 的反機器人措施超級嚴格,你得處理登入、動態內容、Token 輪換、網站結構變動等問題,維護成本很高。
對大多數人來說,直接用現成工具(像 Snscrape 或 Thunderbit)會更省事,除非你真的很愛半夜 Debug 爬蟲。
Thunderbit:最快速的 Twitter 網頁數據抓取方案
是我 2025 年抓 Twitter 的秘密武器——特別適合想要快速拿到結果、又不想寫程式的人。Thunderbit 的優勢有:
- 兩步驟自動抓取: 只要打開你想抓的 Twitter 頁面,點「AI 建議欄位」,Thunderbit AI 會自動判斷要抓哪些資料(內容、作者、日期、按讚等),再按「開始抓取」就好。
- 支援無限捲動和子頁面: Thunderbit 會自動捲動載入更多推文,還能進入每則推文頁面抓回覆或細節。
- 免寫程式、低維護: AI 會自動適應 Twitter 版面變動,完全不用手動調整爬蟲。
- 結構化匯出: 可以直接匯出到 Excel、Google Sheets、Airtable 或 Notion。
- 雲端爬蟲: 大量抓取時,Thunderbit 可在雲端同時處理 50 個頁面,不用一直開著瀏覽器。
- AI 數據增強: 抓取時可用 AI 提示自動增加欄位(像情緒、主題標籤等)。
Thunderbit 超適合商業用戶、分析師,或任何想把 Twitter 數據變成洞察的人——而且完全不用煩惱技術細節。
實作教學:2025 年用 Python 抓取 Twitter 推文
準備動手了嗎?以下是 2025 年抓取推文的詳細步驟:
步驟 1:設定 Python 環境
先確認你用的是 Python 3.8 以上版本,並安裝需要的套件:
1pip install tweepy snscrape pandas
如果要進階分析或視覺化:
1pip install matplotlib textblob wordcloud
用 Tweepy 的話,還要申請 Twitter API 憑證(Bearer Token);Snscrape 則不用金鑰。
步驟 2:用 Tweepy(API)抓取推文
a. 取得 API 憑證
註冊 ,選擇付費 API 方案(Basic 每月 $100/1 萬則),拿到 Bearer Token。
b. 驗證並搜尋推文
1import tweepy
2client = tweepy.Client(bearer_token="YOUR_BEARER_TOKEN")
3query = "AcmeCorp -is:retweet lang:en"
4response = client.search_recent_tweets(
5 query=query,
6 tweet_fields=["created_at", "public_metrics", "author_id"],
7 max_results=100
8)
9tweets = response.data
10for tweet in tweets:
11 print(tweet.text, tweet.public_metrics)
- 限制: 只能抓最近 7 天的推文,除非有學術或企業授權。
- 分頁: 用
response.meta['next_token']拿更多結果。 - 速率限制: 如果遇到 429 錯誤,要等配額重置。
步驟 3:用 Snscrape(免 API)抓取推文
a. 基本用法
1import snscrape.modules.twitter as sntwitter
2import pandas as pd
3query = "AcmeCorp since:2025-10-01 until:2025-10-31"
4tweets_list = []
5for i, tweet in enumerate(sntwitter.TwitterSearchScraper(query).get_items()):
6 tweets_list.append([
7 tweet.id, tweet.date, tweet.user.username, tweet.content,
8 tweet.replyCount, tweet.retweetCount, tweet.likeCount
9 ])
10 if i >= 999: # 限制 1000 則
11 break
12df = pd.DataFrame(tweets_list, columns=[
13 "TweetID", "Date", "Username", "Text", "Replies", "Retweets", "Likes"
14])
15print(df.head())
- 免 API 金鑰、無 7 天限制,可抓歷史推文。
- 限制: 如果 Snscrape 因 Twitter 變動失效,請更新套件(
pip install --upgrade snscrape)或查 。
b. 依用戶或 Hashtag 抓取
1# 抓 @elonmusk 所有推文
2scraper = sntwitter.TwitterUserScraper("elonmusk")
3# 抓 #WorldCup 所有推文
4scraper = sntwitter.TwitterHashtagScraper("WorldCup")
步驟 4:應對 Twitter 反爬蟲限制
Twitter 對爬蟲很不友善,請注意:
- 速率限制: 降低請求頻率(在迴圈裡加
time.sleep()),或把查詢拆小。 - IP 封鎖: 避免用雲端伺服器抓,大量抓取建議用住宅代理。
- Guest Token 問題: 如果 Snscrape 拿不到 guest token,請更新套件或用瀏覽器 session cookie。
- 頁面結構變動: Twitter 改版時要及時調整程式或換工具。
- 法律/道德: 只抓公開資料、尊重速率限制、遵守 Twitter 條款。
如果你發現修爬蟲的時間比分析數據還多,不妨考慮用維護良好的工具或直接用 Thunderbit。
步驟 5:用 Thunderbit 抓取 Twitter 網頁數據
有時候你只想要資料——不想寫程式、不想煩惱。用 就能輕鬆搞定:
- 安裝 並登入。
- 前往你想抓的 Twitter 頁面(個人檔案、搜尋、Hashtag、回覆等)。
- 點擊 Thunderbit 圖示,選「AI 建議欄位」,AI 會自動推薦欄位(內容、作者、日期、按讚等)。
- 按下「開始抓取」,Thunderbit 會自動捲動、收集推文並顯示於表格。
- (選用)抓取子頁面: 勾選推文後點「抓取子頁面」可收集回覆或串文細節。
- 匯出資料 到 Excel、Google Sheets、Notion 或 Airtable,免費且無限制。
- 可排程定期抓取,方便長期監控趨勢或品牌提及。
Thunderbit 的 AI 會自動適應 Twitter 變動,讓你省下大量時間,非常適合商業用戶與分析師。
用 Python 分析與視覺化抓取的推文數據
抓到推文後,接下來就是數據變洞察。常見流程如下:
1. 載入資料到 pandas
1import pandas as pd
2df = pd.read_csv("tweets.csv") # 如果從 Thunderbit 匯出為 .xlsx 也可以
2. 清理與預處理
1df['Date'] = pd.to_datetime(df['Date'])
2df['CleanText'] = df['Text'].str.replace(r'http\S+', '', regex=True)
3. 分析 Hashtag
1from collections import Counter
2hashtags = Counter()
3for text in df['Text']:
4 hashtags.update(part[1:] for part in text.split() if part.startswith('#'))
5print(hashtags.most_common(10))
4. 推文頻率圖表
1import matplotlib.pyplot as plt
2df.set_index('Date', inplace=True)
3tweets_per_day = df['Text'].resample('D').count()
4tweets_per_day.plot(kind='line', title='每日推文數')
5plt.show()
5. 情緒分析
1from textblob import TextBlob
2df['Polarity'] = df['CleanText'].apply(lambda x: TextBlob(x).sentiment.polarity)
3df['SentimentLabel'] = pd.cut(df['Polarity'], bins=[-1, -0.1, 0.1, 1], labels=['負面','中性','正面'])
4print(df['SentimentLabel'].value_counts())
6. 視覺化熱門 Hashtag
1top10 = hashtags.most_common(10)
2labels, counts = zip(*top10)
3plt.barh(labels, counts)
4plt.xlabel("數量")
5plt.title("前 10 大 Hashtag")
6plt.show()
你可以追蹤互動、找出影響者、監控情緒,甚至幫團隊打造即時儀表板。
從抓取到商業價值:讓 Twitter 數據產生洞察
抓取推文只是起點,真正的價值在於怎麼運用這些數據:
- 品牌監控: 設定負面情緒警示,及早回應避免公關危機。
- 競爭對手追蹤: 及時掌握對手產品發表或客訴,調整策略。
- 趨勢偵測: 搶先發現新話題,讓品牌成為領導者。
- 潛在客戶開發: 找出有購買意圖的推文,主動接觸潛在客戶。
- 活動成效追蹤: 追蹤 Hashtag 使用與互動,衡量 ROI、優化未來活動。
透過 Thunderbit 等工具,還能定期自動抓取,直接推送到 Google Sheets 或 Airtable,輕鬆打造即時儀表板或自動化流程。
結論與重點整理
2025 年用 Python 抓取 Twitter 推文雖然挑戰多,但只要選對工具和策略,依然可行而且更有價值。重點如下:
- Python 仍是推文抓取首選, 但要根據需求選對工具——API(Tweepy)穩定、Snscrape 彈性高、Thunderbit 最快最簡單。
- Twitter 防禦嚴密, 請隨時更新工具、善用代理、並負責任地抓取。
- Thunderbit 對非技術用戶來說是革命性工具, 兩步驟抓取、AI 結構化、匯出無縫。
- 真正的價值在於分析—— 善用 pandas、matplotlib、AI,將原始推文轉化為可行的商業洞察。
- 務必遵守 Twitter 條款與用戶隱私, 合法、合規地使用數據。
想體驗抓取有多簡單?,或瀏覽 了解更多教學。
祝你抓取順利,推文數據永遠新鮮、結構化、充滿洞察!
常見問答
1. 用 Python 抓取 Twitter 推文是否合法?
抓取公開推文用於分析通常是允許的,但必須遵守 Twitter 服務條款與隱私政策。請勿抓取私人資料、避免對伺服器造成過大負擔,並負責任地使用數據,尤其是公開或分享時。
2. Tweepy 與 Snscrape 抓取推文有何不同?
Tweepy 透過官方 API,穩定但有限制且需付費。Snscrape 則直接抓取公開網頁資料,彈性高但需隨時維護,因 Twitter 網站常變動。
3. 如何避免抓取 Twitter 被封鎖?
降低請求頻率(加延遲)、避免用雲端伺服器(建議用住宅 IP)、不要一次抓太多。若遇速率限制或被封,請暫停一段時間再試。
4. Thunderbit 能抓取回覆、串文或用戶名單嗎?
可以!Thunderbit 的子頁面抓取功能可收集回覆、串文細節,甚至追蹤名單——只要勾選資料列並點「抓取子頁面」,即可輕鬆取得結構化數據。
5. 如何分析與視覺化抓取的推文數據?
將資料載入 pandas,清理預處理後,可用 matplotlib、seaborn、wordcloud 等套件視覺化。情緒分析可用 TextBlob 或 VADER。Thunderbit 也能直接匯出到 Excel、Google Sheets、Airtable,方便整合分析流程。
想學更多網頁爬蟲、數據分析或自動化工作流程?歡迎瀏覽 或訂閱 觀看實作教學與技巧。
延伸閱讀