【问题标题】:Tweepy- retrieve the most popular two hashtagsTweepy- 检索最流行的两个主题标签
【发布时间】:2017-05-24 03:22:17
【问题描述】:

我是 Spark Streaming 的初学者。 我正在测试一些功能性的代码,但我想用它做其他事情。我只想检索我帐户中最受欢迎的两个主题标签。

class StdOutListener(StreamListener):

    def on_data(self, data):
        print data
        return True

    def on_error(self, status):
        print status


if __name__ == '__main__':

    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    stream = Stream(auth, l)
    stream.filter(track=['python'])

我该怎么做?

非常感谢。

【问题讨论】:

  • Filtering in tweepy 的可能重复项。这并没有解决“我帐户上的前两个主题标签”问题,但我觉得要求用户在样板之上写这么多是过分的。

标签: python python-2.7 twitter spark-streaming tweepy


【解决方案1】:

一个可能的解决方案如下(完整示例here):

class StdOutListener(StreamListener):

    def on_data(self, data):
        print(data)
        return True

    def on_error(self, status):
        print(status)


if __name__ == '__main__':  
    hashtags_dict = {}

    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    api = tweepy.API(auth)

    tweets = api.user_timeline(screen_name='<your_screen_name',count=200)

    for tweet in tweets:
        hashtags = tweet.entities.get('hashtags')
        for hashtag in hashtags:
            if hashtag['text'] in hashtags_dict.keys():
                hashtags_dict[hashtag['text']] += 1
            else:
                hashtags_dict[hashtag['text']] = 1

    print(sorted(hashtags_dict, key=hashtags_dict.get, reverse=True)[:2])

我添加到您脚本中的新部分从您的帐户中获取 200 条推文,并循环每条推文以获取相关主题标签。 每个主题标签将作为键添加到 dict (hashtags_dict) 中,并作为值添加,我输入了主题标签的使用次数。

最后,我得到 dict 中具有最大值的两个键,对应于您帐户中最流行的两个主题标签。

您只能同时获得 200 条推文,这是允许的最大数量。如果您想获取所有推文,请查看script

告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 2013-04-28
    • 2016-07-10
    • 1970-01-01
    • 2021-03-10
    • 2021-08-25
    • 2019-11-12
    相关资源
    最近更新 更多