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()
我还没有使用过按钮点击,但似乎它也能正常工作。唯一的问题是我无法从该站点获得所有结果。
我会更改网站,使这个问题更好。仍然面临类似的问题,不能只使用 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()
我还没有使用过按钮点击,但似乎它也能正常工作。唯一的问题是我无法从该站点获得所有结果。