忍受我,因为我还在学习Python ..
我希望能够看到特定主题标签的最热门推文。我能够找到趋势推文,我能够找到带有特定主题标签的推文,但在尝试将这两个标签结合起来时我感到很茫然。
import tweepy
CONSUMER_KEY = 'key'
CONSUMER_SECRET = 'secret'
OAUTH_TOKEN = 'key'
OAUTH_TOKEN_SECRET = 'secret'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
api = tweepy.API(auth)
trends = api.trends_place(1)
search_hashtag = tweepy.Cursor(api.search, q='hashtag').items(5000)
for tweet in search_hashtag:
print json.dumps(tweet)
print json.dumps(trends, indent=1)
这就是我现在所做的工作..
谢谢!
答案 0 :(得分:1)
来自:https://dev.twitter.com/rest/public/search
它允许针对最近或流行推文的索引进行查询,其行为与Twitter移动或网络客户端(如Twitter.com搜索)中提供的搜索功能类似,但不完全相同。 Twitter Search API搜索过去7天内发布的最近推文的样本。
因此,你几乎已经得到了你想要的东西。这些实际上是特定主题标签/主题的热门推文。
https://dev.twitter.com/rest/reference/get/trends/place只是为了获取特定位置的趋势主题,但从您的问题来看,您似乎想要按某个特定主题进行搜索,而不是当前正在搜索的主题
答案 1 :(得分:0)
如果我说“我希望能够看到特定主题标签的最新趋势推文”时理解正确。您的意思是您想要那些带有某些最热门(受欢迎)的主题标签的推文。
好吧,考虑一下,我想到了一个主意。您可以使用hastag作为查询,然后在收集的推文中搜索哪些推文数量最多。
代码可能看起来像这样:
import tweepy
CONSUMER_KEY = 'key'
CONSUMER_SECRET = 'secret'
OAUTH_TOKEN = 'key'
OAUTH_TOKEN_SECRET = 'secret'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
api = tweepy.API(auth)
trends = api.trends_place(1)
search_hashtag = tweepy.Cursor(api.search, q='hashtag', tweet_mode = "extended").items(5000)
for tweet in search_hashtag:
if 'retweeted_status' in tweet._json:
full_text = tweet._json['retweeted_status']['full_text']
else:
full_text = tweet.full_text
tweets_list.append([tweet.user.screen_name,
tweet.id,
tweet.retweet_count, # What you are interested of
tweet.favorite_count, # Maybe it is helpfull too
full_text,
tweet.created_at,
tweet.entities
])
tweets_df = pd.DataFrame(tweets_list, columns = ["screen_name", "tweet_id",
"nº rt",
"nº replies",
"text",
"created_at",
"entities"])
# In a data frame format you can sort the tweets by the nº of rt and get the top one
tweets_df.to_json()
如您所见,我使用tweet_mode = "extended"
是因为您可能对整个文本感兴趣(默认情况下,Twitter API会截断文本)。此外,您希望将回复数与某条推文的转发数结合使用,以获取最新信息。
希望你觉得它有用!
编码愉快!