Я просматриваю канадский федеральный веб-сайт для исследовательского проекта по онлайн-петициям. Это весь сайт: http://www.oag-bvg.gc.ca/internet/English/pet_lp_e_940.html
Мне нужно получить эту информацию для каждой петиции: гиперссылка петиции, номер петиции, название, проблема (ы), петиционер (ы), дата получения, статус, резюме.
Например, в разделе по делам аборигенов [ http://www.oag-bvg.gc.ca/internet/English/pet_lpf_e_38167.html ], я начал со следующего кода, но заблокировался после того, как нашел заголовок с //h1.
library("rvest")
library("tm")
# tm -> making a corpus and saving it
library("lubridate")
BASE <- "http://www.oag-bvg.gc.ca/internet/English/pet_lp_e_940.html"
url <- paste0(BASE, 'http://www.oag- bvg.gc.ca/internet/English/pet_lpf_e_38167.html')
page <- html(url)
paras <- html_text(html_nodes(page, xpath='//p'))
text <- paste(paras, collapse =' ')
getdata <- function(url){
page <- html(url)
title <- html_text(html_node(page, xpath='//h1'))
# The following code is just a copy-paste of a code someone gave me.
list(title=tit,
date=parse_date_time(date, "%B %d, %Y"),
text=paste(text, collapse=' '))
}
index <- html(paste0(BASE, "index.html"))
links <- html_nodes(index, xpath='//ul/li/a')
texts <- c()
authors <- c()
dates <- c()
for (s in slinks){
page <- paste0(BASE, s)
cat('.') ## progress
d <- getdata(page)
texts <- append(texts, d$text)
authors <- append(authors, d$author)
dates <- append(dates, d$date)
}