如何访问 json 文件中的推文文本以执行进一步分析?
How to access tweet text in a json file to perform further analysis?
我正在使用 Twitter API 获取有关输入搜索词的推文并将它们存储到 json 文件中,如下面的代码所示。我只对推文文本感兴趣,没有别的。如何提取文本并忽略其他任何内容?最终目标是清理个人推文并对它们进行情绪分析。谢谢!
consumerKey = "xxx"
consumerSecret = "xxx"
accessToken = "xxx"
accessTokenSecret = "xxx"
auth = tweepy.OAuthHandler(consumerKey, consumerSecret)
auth.set_access_token(accessToken, accessTokenSecret)
api = tweepy.API(auth)
# Specify search term and count of tweets:
searchTerm = input("Enter topic: ")
limit = int(input("Enter the maximum number of tweets: "))
tweets = tweepy.Cursor(api.search,q=searchTerm,count=limit, lang="en", tweet_mode='extended').items(limit)
for tweet in tweets:
# add to JSON
with open('tweets.json', 'w', encoding='utf8') as file:
json.dump(tweet._json, file)
通过阅读 Twitter API 文档中的一些内容,我可以看到 JSON 结构。
"tweet": {
"created_at": "Thu Apr 06 15:24:15 +0000 2017",
"id_str": "850006245121695744",
"text": "1\/ Today we\u2019re sharing our vision for the future of the Twitter API platform!\nhttps:\/\/t.co\/XweGngmxlP",
"user": {
"id": 2244994945,
"name": "Twitter Dev",
"screen_name": "TwitterDev",
"location": "Internet",
这只是推文中 JSON return 的一小部分。
如您所知JSON文本本质上是一本字典,因此您可以将其视为普通字典。
现在要在 python 中执行此操作,您需要知道要获取哪个键的值。如果我能给出一个建议,那就是为你的项目使用请求模块,它更简单,更容易理解。
for tweet in tweets:
# add to JSON
with open('tweets.json', 'w', encoding='utf8') as file:
json.dump(tweets[tweet]["text"], file)
您可以使用
而不是 json.dump
for tweet in tweets:
# add to JSON
with open('tweets.json', 'w', encoding='utf8') as file:
file.write(tweets[tweet]["text"])
通过这样做,我们调用字典并给它一个特定的键,在本例中为变量 tweet,然后正如您所见,字典 tweets 中有另一个字典,这就是我们再次调用它的原因,这样我们就可以在这种情况下得到我们想要的键值 "text"
希望对您有所帮助!
我正在使用 Twitter API 获取有关输入搜索词的推文并将它们存储到 json 文件中,如下面的代码所示。我只对推文文本感兴趣,没有别的。如何提取文本并忽略其他任何内容?最终目标是清理个人推文并对它们进行情绪分析。谢谢!
consumerKey = "xxx"
consumerSecret = "xxx"
accessToken = "xxx"
accessTokenSecret = "xxx"
auth = tweepy.OAuthHandler(consumerKey, consumerSecret)
auth.set_access_token(accessToken, accessTokenSecret)
api = tweepy.API(auth)
# Specify search term and count of tweets:
searchTerm = input("Enter topic: ")
limit = int(input("Enter the maximum number of tweets: "))
tweets = tweepy.Cursor(api.search,q=searchTerm,count=limit, lang="en", tweet_mode='extended').items(limit)
for tweet in tweets:
# add to JSON
with open('tweets.json', 'w', encoding='utf8') as file:
json.dump(tweet._json, file)
通过阅读 Twitter API 文档中的一些内容,我可以看到 JSON 结构。
"tweet": {
"created_at": "Thu Apr 06 15:24:15 +0000 2017",
"id_str": "850006245121695744",
"text": "1\/ Today we\u2019re sharing our vision for the future of the Twitter API platform!\nhttps:\/\/t.co\/XweGngmxlP",
"user": {
"id": 2244994945,
"name": "Twitter Dev",
"screen_name": "TwitterDev",
"location": "Internet",
这只是推文中 JSON return 的一小部分。
如您所知JSON文本本质上是一本字典,因此您可以将其视为普通字典。
现在要在 python 中执行此操作,您需要知道要获取哪个键的值。如果我能给出一个建议,那就是为你的项目使用请求模块,它更简单,更容易理解。
for tweet in tweets:
# add to JSON
with open('tweets.json', 'w', encoding='utf8') as file:
json.dump(tweets[tweet]["text"], file)
您可以使用
而不是 json.dumpfor tweet in tweets:
# add to JSON
with open('tweets.json', 'w', encoding='utf8') as file:
file.write(tweets[tweet]["text"])
通过这样做,我们调用字典并给它一个特定的键,在本例中为变量 tweet,然后正如您所见,字典 tweets 中有另一个字典,这就是我们再次调用它的原因,这样我们就可以在这种情况下得到我们想要的键值 "text"
希望对您有所帮助!