open.connection(con, "rb") 中的错误:达到超时:10000 毫秒后解析超时

Soc*_*key 5 r

所以我有一个"Player"对象列表,每个对象都有一个 ID,被调用players,我正在尝试使用 JSONlite 访问包含与相关 ID 相关的信息的 Web JSON。

HTML 词干是:' https://fantasy.premierleague.com/drf/element-summary/ '

我需要访问每个玩家各自的页面。

我正在尝试这样做:

playerDataURLStem = 'https://fantasy.premierleague.com/drf/element-summary/'

for (player in players) {
  player_data_url <- paste(playerDataURLStem,player@id,sep = "")
  player_data <- fromJSON(player_data_url)

  # DO SOME STUFF #

}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到错误Error in open.connection(con, "rb") : Timeout was reached: Resolving timed out after 10000 milliseconds。每次运行代码时都会在我的玩家列表中的不同位置产生此错误,当我检查导致错误的网页时,我看不到任何错误。这让我相信有时页面只需要超过 10000 毫秒的时间来回复,但使用

options(timeout = x)
Run Code Online (Sandbox Code Playgroud)

对于某些人来说x,似乎并没有让它等待更长时间的响应。

对于最小的工作示例,请尝试:

playerDataURLStem = 'https://fantasy.premierleague.com/drf/element-summary/'

ids <- c(1:540)
for (id in ids) {
    player_data_url <- paste(playerDataURLStem, id, sep = "")
    player_data <- fromJSON(player_data_url)
    print(player_data$history$id[1])
}
Run Code Online (Sandbox Code Playgroud)

yas*_*hah 2

options(timeout= 4000000) 对我有用。尝试将超时值增加到更高的数字