You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Twitter API存储的JSON文件中提取推文文本用于情感分析?

嗨,我来帮你搞定这个问题!你已经用Tweepy连好Twitter API了,接下来只需要从返回的推文对象里提取纯文本,再做简单清洗,就能为后续的情感分析做好准备啦。

1. 提取推文纯文本

先补全你的代码,重点是从每个推文对象里直接抓取text字段(这就是你要的纯推文内容),其他无关信息自动忽略就行。这里给你完整的示例:

import tweepy
import json

# 替换成你的密钥信息
consumerKey = "xxx"
consumerSecret = "xxx"
accessToken = "xxx"
accessTokenSecret = "xxx"

# 完成认证流程
auth = tweepy.OAuthHandler(consumerKey, consumerSecret)
auth.set_access_token(accessToken, accessTokenSecret)

# 创建API对象,开启速率限制等待避免报错
api = tweepy.API(auth, wait_on_rate_limit=True)

# 替换成你的目标搜索词
search_query = "你的搜索关键词"
# 获取指定数量的推文(count可按需调整)
tweets = api.search_tweets(q=search_query, count=100)

# 提取纯文本并收集
cleaned_tweets = []
for tweet in tweets:
    # 只取推文文本,其他字段直接跳过
    tweet_text = tweet.text
    cleaned_tweets.append(tweet_text)

# 把纯文本列表保存到JSON文件
with open("tweets_text_only.json", "w", encoding="utf-8") as f:
    json.dump(cleaned_tweets, f, ensure_ascii=False, indent=4)

运行这段代码后,你得到的JSON文件里就只有每条推文的纯文本内容啦。

2. 推文文本清洗(为情感分析优化)

因为要做情感分析,干净的文本能让结果更准确。这里给你一个实用的清洗函数,涵盖了常见的清理操作:

import re

def clean_tweet(text):
    # 去掉@提及的用户名
    text = re.sub(r'@[A-Za-z0-9_]+', '', text)
    # 去掉所有URL链接
    text = re.sub(r'https?://\S+', '', text)
    # 去掉多余的空格、换行符
    text = ' '.join(text.split())
    # 可选:把文本转为小写(根据你用的情感模型需求决定)
    # text = text.lower()
    return text

# 把清洗函数应用到所有推文上
cleaned_tweets = [clean_tweet(tweet.text) for tweet in tweets]

你可以根据自己的需求调整清洗步骤,比如要不要保留话题标签#,或者要不要去掉表情符号(如果模型不支持的话)。

小提示:如果用Twitter API v2

现在官方更推荐用API v2,提取文本的方式略有不同,这里给你快速示例:

client = tweepy.Client(bearer_token="你的Bearer Token")
response = client.search_recent_tweets(query=search_query, max_results=100)
# 提取纯文本
cleaned_tweets = [tweet.data['text'] for tweet in response.data if tweet.data]

这样处理后,你就得到了干净的推文文本,直接拿去做情感分析就好啦!

内容的提问来源于stack exchange,提问作者abadawi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:10:53