如何访问 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"

希望对您有所帮助!