使用 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'])
我正在尝试使用 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'])