Я новичок в веб-поиске здесь и пытаюсь извлечь информацию о компаниях на этом сайте: http://apps.asiainsurancereview.com/IDA/Asp/CompanyList.aspx?company=&type=&jobType=&country=&search=company
И информация, которую я хочу извлечь, выглядит как ссылка ниже (это первая компания, которая указана в таблице из первой ссылки выше):
http://apps.asiainsurancereview.com/IDA/Asp/IDA_CompanyDetails.aspx?person=&designation=&company=&country=&search=company&comslno=272
Я пытаюсь извлечь детали каждой из компаний (номер телефона, адрес электронной почты, веб-сайт и т. д.), перечисленных в первой ссылке, затем экспортируйте их в файл .csv.
Однако проблема заключается в том, что номер на веб-сайте URL-адрес не является последовательным, например, информационный URL-адрес первой компании такой же, как и выше, заканчивающийся на «comslno = 272», но у второй компании URL-адрес заканчивается на «comslno = 1824»
Я пробовал R код, как показано ниже (я знаю, что это может быть неосуществимо)
library(rvest)
library(dplyr)
directory <- lapply(paste0('http://apps.asiainsurancereview.com/IDA/Asp/IDA_CompanyDetails.aspx?person=&designation=&company=&country=&search=company&comslno=', 1:9999999),
function(url){
url %>% read_html() %>%
html_nodes("tr td") %>%
html_text()
})
write.csv(directory, file = "directory.csv")
Однако, это не работает, потому что URL не работает со всеми числами между 1: 9999999.
Например, URL, заканчивающийся на «comslno = 1» и «comslno = 2», существует, но «comslno = 3» не существует.
Есть ли способ заставить R игнорировать эти несуществующий URL и продолжить процесс? Или есть другие более простые способы сделать это?