【问题标题】:twitter API limiting tweets to one day, tweepytwitter API 将推文限制为一天,tweepy
【发布时间】:2016-05-28 10:45:57
【问题描述】:

我正在尝试从 Twitter 中提取一个多月的数据以用于一个项目。在这段时间里有

api = tweepy.API(auth)
igsjc_tweets = api.search(q="#igsjc", since='2014-12-31', count=100000)

ipdb> len(igsjc_tweets)
80

我确定应该有超过 80 条推文。我听说 Twitter 一次限制为 1500 条推文,但它是否也限制在某一天?请注意,我还尝试了 Cursor 方法与

igsjc_tweets = tweepy.Cursor(api.search, q="#igsjc", since='2015-12-31', count=10000)

这也只能给我 80 条推文。任何有关如何获取完整数据的提示或建议将不胜感激。

【问题讨论】:

    标签: twitter tweepy


    【解决方案1】:

    这是official tweepy tutorial on Cursor。注意:您需要遍历Cursor,如下所示。此外,您可以通过 .items() 的最大计数,因此最好按月或类似的方式进行拉动,并且在两次通话之间使用sleep 可能是个好主意。 HTH!

    igsjc_tweets_jan = [tweet for tweet in tweepy.Cursor(
                        api.search, q="#igsjc", since='2016-01-01', until='2016-01-31').items(1000)] 
    

    【讨论】:

    • 我刚刚读到搜索 API 只有一周前的推文。有没有办法解决这个问题?
    • 我认为,如果您阅读用户时间线,您可以获得超过一周的推文。 Here 是另一个类似 SO 问题的链接。对您最有帮助的答案将是链接到“GetOldTweets”回购here
    【解决方案2】:

    首先,tweepy 无法使用其搜索 API 带来太旧的数据 我不知道确切的限制,但可能只有一两个月。

    无论如何, 您可以使用这段代码来获取推文。 我运行它是为了获取最近几天的推文,它对我有用。

    请注意,您可以对其进行改进并添加地理编码信息 - 我为您留下了一个注释掉的示例

    flag = True
    last_id = None
    while (flag):
       flag = False
       for status in tweepy.Cursor(api.search,
                              #q='geocode:"37.781157,-122.398720,1mi" since:'+since+' until:'+until+' include:retweets',
    
                              q="#igsjc",
                              since='2015-12-31',
    
                              max_id=last_id,
                              result_type='recent',
                              include_entities=True,
                              monitor_rate_limit=False, 
                              wait_on_rate_limit=False).items(300):
           tweet = status._json
           print(Tweet)
    
           flag = True # there still some more data to collect
           last_id = status.id # for next time
    

    祝你好运

    【讨论】:

    • 你在这方面有什么成功吗?它在“自”日期之前返回推文。
    • @JasonVondersmith - 我记得它按预期工作(这是 1.5 年前)。 “自从”中传递了什么值?
    • since = "2017-10-10" 我正在尝试使用以下代码:stackoverflow.com/questions/46864633/…
    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 2021-01-16
    • 2017-07-16
    • 2022-08-19
    • 2014-07-23
    • 2021-12-31
    • 2016-06-29
    • 1970-01-01
    相关资源
    最近更新 更多