使用 TweepyV2 查找推文中的所有主题标签

Find all hashtags in tweets using TweepyV2

我正在尝试使用 TweepyV4 从所有推文中获取主题标签。要为每条推文获取主题标签,我需要添加所需的扩展并根据文档查看 tweet_field 'entity'。

    for response in tweepy.Paginator(client.get_users_tweets, user_id,
                                     exclude='replies,retweets',
                                     max_results=100,
                                     expansions='referenced_tweets.id',
                                     tweet_fields=['entities']):
           
        for tweets in response.data:
            print(tweets['entities']['hashtags'])



这给了我一个关键错误。有谁知道为什么实体不包含主题标签?

更新:

    tweet_list = []
    for response in tweepy.Paginator(client.get_users_tweets, user_id,
                                     exclude='replies,retweets',
                                     max_results=100,
                                     expansions='referenced_tweets.id',
                                     tweet_fields=['created_at','public_metrics','entities']):
        for tweets in response.data:
            tweet_list.append([tweets.text,
                               tweets['public_metrics']['like_count'],
                               tweets['public_metrics']['retweet_count'],
                               tweets['created_at'].date()])
        for tweets in response.data:
            print(tweets['entities']['hashtags'])

    df = pd.DataFrame(tweet_list, columns=["Tweet", "Favourites", "Retweets", "Created"])
    return df

这是我阅读推文的完整功能。我得到了其他所有内容 'like_count'、created_at' 等。当我尝试从实体访问主题标签时,它显示密钥错误。

解法:
找到了答案。返回没有实体的推文 None。这就是问题所在。现在这给了我所有推文中的所有主题标签。

  if tweets['entities'] is not None:
            for key, value in tweets['entities'].items():
                if key == 'hashtags':
                    for hashtag in value:
                        hashtag_list.append(hashtag['tag'])