Я пытаюсь использовать функцию R readHTMLTable для сбора данных из онлайн-базы данных по адресу www.racingpost.com. У меня есть файл CSV с 30 000 уникальными идентификаторами, которые можно использовать для идентификации отдельных лошадей. К сожалению, небольшое количество этих идентификаторов является ведущим readHTMLTable вернуть ошибку:readHTMLTable in R - пропуск значений NULL
Ошибка в (function (classes, fdef, mtable)
: не смогли найти наследуемый метод для функции «readHTMLTable» для подписи «„NULL“»
Моего вопроса is - возможно ли настроить функцию-оболочку, которая будет пропускать идентификаторы, возвращающие значения NULL, а затем продолжить чтение оставшихся таблиц HTML? Чтение останавливается при каждом значении NULL.
То, что я пытался до сих пор это:
ids = c(896119, 766254, 790946, 556341, 62736, 660506, 486791, 580134, 0011, 580134)
, которые все действительные лошади Идентификаторы бара, в 0011, который возвращает значение NULL. Тогда:
scrapescrape <- function(x) {
link <- paste0("http://www.racingpost.com/horses/horse_home.sd?horse_id=",x)
if (!is.null(readHTMLTable(link, which=2))) {
Frame1 <- readHTMLTable(link, which=2)
}
}
total_data = c(0)
for (id in ids) {
total_data = rbind(total_data, scrapescrape(id))
}
Однако, я думаю, что ошибка возвращается в, если заявлении, которое означает функцию останавливается, когда он достигает первое значение NULL. Любая помощь будет принята с благодарностью - большое спасибо.