我有以下代码,由于某种原因,我无法将其转到下一条记录。我把print(innallURL)放在if(!file.exists)命令之前,然后我得到了所有的url,我把它放在没有的地方,没有任何显示,所以这让我觉得文件失败了。存在的部分。我测试了5个URL,它们在Web目录中工作/存在。我已经在其他循环中使用了下一个并且没有任何问题。我也尝试在字符串的前面添加url =。我在这里搜索过,但我只能找到我在例子中使用的公式。请指出我忽略的愚蠢的东西。哈!谢谢!
gidURLs <- as.list(as.data.frame(t(allGids)))
#get pitches
#set filename
for (thisgidURL in gidURLs) {
innallURL = paste(thisgidURL, "inning/inning_all.xml", sep="")
if (!file.exists(innallURL)) next
print(innallURL)
pitches <- read_xml(innallURL)
# get all at-bats ---------------------------------------------------------
atbat <- xml_find_all(pitches, "//atbat")
# make a giant data frame -------------------------------------------------
bind_rows(lapply(atbat, function(x) {
pitches <- xml_find_all(x, "./pitch")
bind_rows(lapply(pitches, function(y) {
data.frame(t(xml_attrs(y)), stringsAsFactors=FALSE)
})) -> pitch_dat
pitch_dat$atbat_num <- xml_attr(x, "num")
pitch_dat
})) -> bats
game_id = substr(url, 66, 95)
bats$game_id <- game_id
allbatsdf <- data.frame(bats)
allbats <- rbind(bats, allbats)
}
在file.exists命令之前打印时,列表中的innallURLs。
"http://gd2.mlb.com/components/game/win/year_2015/month_01/day_30/gid_2015_01_30_magwin_oriwin_1/inning/inning_all.xml"
"http://gd2.mlb.com/components/game/win/year_2015/month_01/day_31/gid_2015_01_31_sydwin_prtwin_1/inning/inning_all.xml"
答案 0 :(得分:0)
我们可以使用httr包来使用GET
方法。
library(httr)
if(GET(innallURL)$status_code!=200) next