我会更改网站,以便更好地解决这个问题。仍然面临类似问题,只能使用rvest软件包,并且使用RSelenium可能更容易获得答案。网站:http://ravimaailma.fi/cg/tulokset/20/我希望从主要文章中获取链接,这些链接可以指导我个人比赛结果。链接看起来像这样: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()
这将不会返回任何内容。当您向下滚动时,网站会加载更多结果,但我认为我至少会得到第一个结果。下面给出了一些链接和链接28:32看起来很有希望,但我认为它们是侧边栏的链接,而不是文章。
url %>%
read_html() %>%
html_nodes("a") %>%
html_attr("href")
我在这里做错了什么,RSelenium可以帮助我吗?
答案 0 :(得分:1)
这是我的部分答案,仍然没有全部,但也许可以帮助一些人。代码将返回第一个结果的1个链接。不知道为什么它不能全部给它们。我正在使用
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()
我还没有使用按钮点击,但似乎它也运行良好。唯一的问题是我无法从网站获得所有结果。
答案 1 :(得分:0)
[我还没有(允许)写评论,所以我选择让这篇文章成为答案] RSelenium并不总是必要的,您也可以直接使用PhantomJS与网站互动(参见例如this example)。
如果您提供了网站上的示例,而不是.pdf的本地链接,我可以尝试找出如何检索数据。