我正在尝试使用URL和下面的代码在多个页面上抓取一些数据:
webpage <- read_html("https://www.hcdn.gob.ar/proyectos/textoCompleto.jsp?exp=6488-D-2017")
billno <- html_nodes(webpage, 'h1')
billno_text <- html_text(billno)
billsum <- html_nodes(webpage, '.interno')
billsum_text <- html_text(billsum)
billsum_text <- gsub("\n", "", billsum_text)
billsum_text <- gsub("\t", "", billsum_text)
billsum_text <- gsub(" ", "", billsum_text)
head(billsum_text)
head(billno_text)
此代码完全符合我的要求,因此我尝试从此代码构建循环:
summary <- data.frame(matrix(nrow=2, ncol=2))
colnames(summary) <- c("billnum", "sum")
for (i in 6488: 6489) {
webpage <- read_html(paste0("https://www.hcdn.gob.ar/proyectos/textoCompleto.jsp?exp=6488-D-2017", i))
billno <- html_nodes(webpage, 'h1')
billno_text <- html_text(billno)
billsum <- html_nodes(webpage, '.interno')
billsum_text <- html_text(billsum)
billsum_text <- gsub("\n", "", billsum_text)
billsum_text <- gsub("\t", "", billsum_text)
billsum_text <- gsub(" ", "", billsum_text)
summary[i, 1] <- billno_text
summary[i, 2] <- billsum_text
}
但是,此代码似乎无效。我熟悉循环遍历以“ page = X”结尾的URL(页面编号顺序更改)的想法。但是,在我使用上述URL的情况下,账单号“ 6488”在该URL的“ D-2017”部分保持不变的情况下因账单而异。我不确定是否有办法解决这一事实,因为这不是标准的URL结构,因此我不确定是否可以实现自动化。只是警告,我是编码/网络爬虫的新手(大多是自学成才的。)