【发布时间】:2015-09-10 02:13:20
【问题描述】:
我是 html 抓取领域的新手,在使用 R 中的 rvest 时,我很难在特定标题下提取段落。
我想从具有相对相似设置的多个站点中抓取信息。它们都有相同的标题,但标题下的段落数可以改变。我能够使用以下代码抓取标题下的特定段落:
unitCode <- data.frame(unit = c('SLE010', 'SLE115', 'MAA103'))
html <- sapply(unitCode, function(x) paste("http://www.deakin.edu.au/current-students/courses/unit.php?unit=",
x,
"&return_to=%2Fcurrent-students%2Fcourses%2Fcourse.php%3Fcourse%3DS323%26version%3D3",
sep = ''))
assessment <- html[3] %>%
html() %>%
html_nodes(xpath='//*[@id="main"]/div/div/p[3]') %>%
html_text()
“xpath”元素拉入评估标题下的第一段。有些页面在评估标题下有多个段落,如果我更改“xpath”变量以具体指定它们,我可以获得这些段落,例如p[4] 或 p[5]。不幸的是,我想在数百页上迭代这个过程,所以每次都改变 xpath 是不合适的,我什至不知道每一页会有多少段落。
考虑到页面设置的不确定性,我认为在我感兴趣的标题之后拉出所有
是最佳选择。
我想知道是否有一种方法可以在 Assessment 之后使用 rvest 或其他一些 R 抓取包来抓取所有 ?
【问题讨论】: