我会改变网站,把这个问题做得更好。仍然面临着类似的问题,不能只使用rvest包,也许用RSelenium可以更容易地获得答案。网站:http://ravimaailma.fi/cg/tulokset/20/和我想从主要文章获得链接,这将引导我到个人比赛结果。链接看起来像这样:http://ravimaailma.fi/article/tulokset/pori-18-11-2017-tulokset/8718/
我正在尝试使用简单的Rvest,因为我认为这是这里所需要的。SelectorGadget以.article-title a
的形式给出了链接CSS,所以我的代码很简单
url %>%
read_html() %>%
html_nodes(".article-title a") %>%
html_text()
这将不会返回任何内容。当你向下滚动时,网站会加载更多的结果,但我想我至少会得到第一个结果。下面给出了一些链接,链接28:32看起来很有希望,但我认为它们是来自侧边栏的链接,而不是来自文章的链接。
url %>%
read_html() %>%
html_nodes("a") %>%
html_attr("href")
我在这里做错了什么,RSelenium能帮助我吗?
发布于 2017-11-19 08:32:49
这是我的部分答案,仍然没有得到全部,但可能对某些人有帮助。代码将为第一个结果返回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()
我还没有使用按钮点击,但它似乎工作得很好。唯一的问题是我不能从网站上得到所有的结果。
发布于 2017-09-15 09:32:20
我还不被允许写评论,所以我选择让这篇文章成为一个答案,RSelenium并不总是必要的,你也可以直接使用PhantomJS (参见this example)与网站交互。
如果您提供了一个来自网站的示例,而不是指向.pdf的本地链接,我可以尝试找出如何检索数据。
https://stackoverflow.com/questions/45585575
复制相似问题