【问题标题】:Handling 404 and other bad responses with looping twitteR queries使用循环 twitteR 查询处理 404 和其他错误响应
【发布时间】:2015-06-08 04:11:37
【问题描述】:

如果出现错误,我希望循环不会中断。我希望它继续进行下一次迭代。此示例是我遇到的错误和循环中断的最小示例。在我的真实应用程序中,我正在遍历从另一个脚本生成的一些追随者。

library(twitteR)
#set oauth...
for(i in 1:10) {
+ x <- getUser("nalegezx") }

twInterfaceObj$doAPICall(paste("users", "show", sep = "/"), params = params, 中的错误: 客户端错误:(404)未找到

我知道这个循环会简单地重写对 x 的相同响应。我只是对不打破循环感兴趣。

【问题讨论】:

    标签: r twitter


    【解决方案1】:

    我不是 R Twitter API 方面的专家,但我可以建议您考虑将对 getUser() 的调用放在 try 块中,如下所示:

    for (i in 1:10) {
        x <- try(getUser("sdlfkja"))
    }
    

    这应该可以防止您的代码在循环中间崩溃。如果你想在循环中出现警告或错误时也有单独的逻辑,你可以使用tryCatch

    for (i in 1:10) {
        x <- tryCatch(getUser("sdlfkja"),
                      warning = function(w) {
                                    print("warning"); 
                                    # handle warning here
                                },
                      error = function(e) {
                                  print("error");
                                  # handle error here
                              })
    }
    

    【讨论】:

      【解决方案2】:

      我接受了蒂姆的回答,因为它解决了我遇到的问题,但对于我使用 lookupUsers 的用户的个人资料上从 Twitter 获得许多结果的特定实例,它为我完成了这项工作,而不会影响我的请求限制。

      【讨论】:

        猜你喜欢
        • 2015-10-25
        • 2012-11-16
        • 1970-01-01
        • 2011-12-26
        • 1970-01-01
        • 1970-01-01
        • 2013-03-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多