2017-08-02 146 views
0

使用循环我有独特的ids x urls一个df错误批处理HTTP状态代码测试中的R

library (httr) 

for (i in (1:nrow(df))) { 
    resp <- httr::GET(df$url[i]) 
    httpcode[i] <- status_code(resp) 
    httpstatus[i] <- http_status(resp)$reason 
} 

我想(一)发现status_code每一个URL,(B)找到http_status每一个URL,以及(c)将它们吐出到新列在同一df

问题:1.在下面的代码,当我由实际索引号码(例如I = 1)替换i,代码工作。当我把它放在一个for循环,它使我有以下错误:

Error in curl::curl_fetch_memory(url, handle = handle) : 
    Couldn't resolve host name 
  • 如何使httpcodehttpstatus从对象转换为新列在同一df?谢谢
  • +0

    哦,非常感谢,这解决了第一个问题。 (但我也不得不从httpcode [i]和则httpStatus卸下I指数[1]。任何想法我怎么能回到各自的URL的结果为两个新列在同一个DF? – Susie

    回答

    0
    out_df <- data.frame() 
    for (i in df$url) { 
        print(i) 
        resp <- httr::GET(i) 
        httpcode <- status_code(resp) 
        httpstatus <- http_status(resp)$reason 
        row <- c(i, httpcode, httpstatus) 
        out_df <- rbind(out_df, row) 
    } 
    
    df <- merge(df, out_df, by = 'url', all.x = TRUE) 
    
    +0

    打印(我)没必要但将帮助您识别故障网址 – AidanGawronski

    +0

    谢谢艾丹我加的结果上面的回答的照片,现在我发现我有,因为这个错误有NAS:6:。在'[< - factor'('* TMP *',RI值= “WWW [网站名称隐藏] .COM”):无效因子水平,NA产生---不知道如何解决这个问题 – Susie

    +0

    DF $网址< - as.character(DF $网址) – AidanGawronski