R中的WebScraping动态页面

WebScraping dynamic pages in R

我会更改网站,使这个问题更好。仍然面临类似的问题,不能只使用 rvest 包,也许使用 RSelenium 更容易获得答案。网站:http://ravimaailma.fi/cg/tulokset/20/ and I want to obtain links from the main article which would direct me to individual race results. Links look something like this: http://ravimaailma.fi/article/tulokset/pori-18-11-2017-tulokset/8718/

我正在尝试使用简单的 Rvest,因为这里只需要它。 SelectorGadget 将链接 CSS 作为 .article-title a,所以我的代码只是

url %>%
  read_html() %>% 
  html_nodes(".article-title a") %>% 
  html_text()

这将 return 什么都没有。当您向下滚动时,网站会加载更多结果,但我想我至少会得到第一个结果。下面给出了一些链接和链接 28:32 看起来很有希望,但我认为它们是侧栏中的链接,而不是文章中的链接。

url %>%
  read_html() %>% 
  html_nodes("a") %>% 
  html_attr("href")

我在这里做错了什么,RSelenium 可以帮助我吗?

[我(还)不被允许发表评论,所以我选择将此 post 作为答案] RSelenium 并非总是必需的,您也可以直接使用 PhantomJS 与网站进行交互(参见 )。

如果您提供的示例来自网站而不是本地 link 到 .pdf,我可以尝试了解如何检索数据。

这是我的部分答案,仍然不是全部,但也许对某些人有所帮助。代码将 return 1 link 作为第一个结果。不知道为什么它不给他们全部。我正在使用

library(RSelenium)
rD <- rsDriver(port = 4444L,  browser = "chrome")

remDr <- rD[["client"]]
remDr$navigate("http://ravimaailma.fi/cg/tulokset/20/")

elem <- remDr$findElement(using="css selector", value=".article-title a")
elemtxt <- elem$getElementAttribute("href")

#Click button to load more results
#button <- remDr$findElement(using="id", value="loadmore")
#button$clickElement()

remDr$close()

我还没有使用过按钮点击,但似乎它也能正常工作。唯一的问题是我无法从该站点获得所有结果。