【问题标题】:search for tweets in a given time window in python在python中的给定时间窗口中搜索推文
【发布时间】:2017-02-03 18:31:25
【问题描述】:

我想要从 2013 年 5 月到 2014 年 5 月包含给定单词的所有推文。

我查看了GET search/tweets 的 API 文档,但它似乎不允许您提供时间窗口,只能提供日期,并且它会检索最多 7 天前的推文。

如何在 python 中检索这些推文? (基本上我想写一个脚本来做 Twitter advanced search 所做的事情

【问题讨论】:

  • 您应该先尝试一些事情,然后针对您可能面临的问题提出更具体的问题。

标签: python api twitter


【解决方案1】:

根据 Twitter 搜索 API 文档,您想要的查询是不可能的:https://dev.twitter.com/rest/public/search

Twitter 搜索 API 搜索最近的推文样本 在过去 7 天内发布。

在过去 7 天之后,您想要达到的目标只能通过在 Twitter 上手动搜索帐户来完成。

你可以试试twarc 使用您引用的高级搜索运算符,但我不确定它是否会根据 Twitter 搜索 API 文档查询一整年。

虽然不是基于 Python,但另一种选择是使用 https://webrecorder.io/

滚动到您想要记录或尝试捕获整个提要的时间。还要注意自动滚动选项。

【讨论】:

    【解决方案2】:

    您将不得不将您的 Twitter 提要转储到 JSON 并解析它以获得您想要的推文。我只是使用 tweepy 和 json 模块在 Python 中为您整理了这些内容。

    #!/usr/bin/env python
    
    import tweepy
    from tweepy import OAuthHandler
    import json
    
    
    def process_or_store(tweet):
        converted = json.dumps(tweet)
        parsed = json.loads(converted)
        return parsed
    
    
    access_token = ''
    access_secret = ''
    consumer_key = ''
    consumer_secret = ''
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_secret)
    api = tweepy.API(auth)
    
    for tweet in tweepy.Cursor(api.user_timeline).items():
        j = process_or_store(tweet._json)
        m2013 = ['May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', '2013']
        m2014 = ['Jan', 'Feb', 'Mar', 'Apr', 'May', '2014']
    
        if all(x in j['created_at'] for x in m2013):
            print "%s -- %s" % (j['created_at'], j['text'])
        elif all(x in j['created_at'] for x in m2014):
            print "%s -- %s" % (j['created_at'], j['text'])
    

    【讨论】:

    • 我需要“一般”的推文,而不是我的。我担心不访问时间线就无法获得它们,对吗?我没有用户,我可以用作过滤器的唯一参数是语言(意大利语)、时间窗口(2013 年 5 月至 2014 年 5 月)以及与我感兴趣的概念相关联的关键字来构建我的统计信息。无论如何感谢您的回答!
    • api.user_timeline int 上面的代码可以被修改以获取其他用户的推文。小心,他们的 API 每小时有一个请求计时器,如果你开始变得太大,它会锁定你一段时间。导入 tweepy 并执行 dir(tweepy) 以查看您可以使用的所有方法。此外,良好的 Google 搜索将使您找到文档。他们的示例页面写得很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 2019-07-08
    • 2018-02-24
    • 1970-01-01
    • 2010-11-04
    相关资源
    最近更新 更多