【问题标题】:Filtering tweets based on hashtags and user_mentions根据主题标签和 user_mentions 过滤推文
【发布时间】:2015-04-19 15:01:10
【问题描述】:

我想使用流 api 获取实时推文,然后根据我拥有的主题标签和 user_mentions 列表过滤它们。只有那些在 hashtags 列表中的一项中具有任何 hashtag 或在 user_mentions 列表中的一项中具有 user_mention 的推文才应该被获取。

我想先获取所有推文,然后在阅读这些推文时,我会提取主题标签和 user_mentions 字段,看看该集合与我拥有的集合之间是否存在交集。问题是如何获取所有推文。
在 stream.filter() 中应该指定什么作为跟踪参数。
或者有更简洁的方法吗?

【问题讨论】:

    标签: twitter tweepy twitter-streaming-api


    【解决方案1】:

    如果您组标签和用户提及,您可以直接跟踪这些。

    # Lets say I have a user_mentions list...
    user_mentions = ['@this_guy', '@that_guy', '@those_guys']
    
    # And a hashtags list...
    hashtags = ['#ThisHastag', '#ThatHashtag']
    
    # You can merge them into one list of terms to be tracked
    track_terms = user_mentions + hashtags
    
    # The list "track_terms" now looks like this:
    # track_terms = ['@this_guy', '@that_guy', '@those_guys', '#ThisHastag', '#ThatHashtag']
    
    # Passing these to .filter() will collect tweets containing those terms
    stream.filter(track=track_terms)
    

    【讨论】:

    • 如果您想通过标签 由拥有超过 x 个关注者的用户的推文过滤流怎么办?因此,只有关注度高的用户的推文才会出现在主题标签流中。
    • 当然,我的回答没有涵盖这一点,因为这不是问题所在。当然它是可行的——你只受到 API 本身的限制。这是一个比这里提出的问题复杂得多的问题,所以我不确定它在 cmets 中是否公平(如果你真的在问如何去做)来判断我的答案您提出的条件(如果您是反对我的人)。
    • 哦,不,我不是那个投反对票的人,我昨晚刚刚通过谷歌找到了这个,并且有一个关于进一步推动你的答案的问题。 (我只是懒惰,而不是自己提出问题。)
    • 我现在可以向您发送正确的方向 - 推文以 JSON 形式出现。在该 JSON 中,有许多字段描述了推文的各个方面(文本、created_at、id 等)。这些字段之一是“用户”,在该用户部分中是“followers_count”条目。请参阅these docs 并向下滚动到“用户”字段。您可以使用该信息来帮助过滤您收到的推文。如果您需要更多帮助,我会密切关注 Tweepy 标签,如果您想提出问题,我很乐意为您提供更有条理的答案。祝你好运!
    猜你喜欢
    • 2015-07-08
    • 2022-01-12
    • 2018-07-18
    • 2012-07-14
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 2012-05-18
    相关资源
    最近更新 更多