在R中刮掉BigFuture的麻烦

时间:2018-04-05 19:51:56

标签: r web-scraping rvest

我正在尝试使用rvest来抓取https://bigfuture.collegeboard.org/college-university-search/princeton-university来获取学院的链接(CSS选择器说#cpProfile_ataglance_collegeGeneralUrl_anchor)和国际学生部分的一些文本(可以通过侧边栏访问)。无论我尝试什么,html_nodes()都无法将此信息读入R.我试图使用chrome中的开发人员工具选项来获取信息,但即使这样也行不通。我错过了什么?

base_url = "https://bigfuture.collegeboard.org/college-university-search/princeton-university"
page = read_html(base_url)
page %>%
  html_nodes("#cpProfile_ataglance_collegeGeneralUrl_anchor")

1 个答案:

答案 0 :(得分:0)

看起来页面是用javascript生成的。您可以使用RSelenium包来打开生成页面的浏览器,之后,阅读html并抓取您想要的内容(就像您正在做的那样):

library(rvest)
library(RSelenium)
base_url = "https://bigfuture.collegeboard.org/college-university-search/princeton-university"
rD <- rsDriver()
remDr <- rD[["client"]]
remDr$navigate(base_url)
page <- read_html(remDr$getPageSource()[[1]])
page %>% html_nodes("#cpProfile_ataglance_collegeGeneralUrl_anchor")