Rvest:使用唯一的网址对多个页面进行抓取

时间:2018-07-06 20:43:07

标签: r loops url web-scraping rvest

我正在尝试使用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结构,因此我不确定是否可以实现自动化。只是警告,我是编码/网络爬虫的新手(大多是自学成才的。)

0 个答案:

没有答案