【发布时间】:2018-08-26 10:18:01
【问题描述】:
我的目标是通过标题获取所有 Kaggle 挑战的链接。我正在使用图书馆rvest,但我似乎并没有走远。当我在几个 div 中时,节点是空的。
我一开始尝试为第一个挑战做这件事,之后应该能够将其转移到每个条目。 第一项的xpath是:
/html/body/div[1]/div[2]/div/div/div[2]/div/div/div[2]/div[2]/div/div/div[2]/div/div/div[1]/a
我的想法是一旦我进入正确的标签,就通过html_attr( , "href") 获取链接。
我的想法是:
library(rvest)
url = "https://www.kaggle.com/competitions"
kaggle_html = read_html(url)
kaggle_text = html_text(kaggle_html)
kaggle_node <- html_nodes(kaggle_html, xpath = "/html/body/div[1]/div[2]/div/div/div[2]/div/div/div[2]/div[2]/div/div/div[2]/div/div/div[1]/a")
html_attr(kaggle_node, "href")
我无法越过某个 div。下面的 sn -p 显示了我可以访问的最后一个节点
node <- html_nodes(kaggle_html, xpath="/html/body/div[1]/div[2]/div")
html_attrs(node)
一旦我使用html_nodes(kaggle_html,xpath="/html/body/div[1]/div[2]/div/div") 更进一步,该节点将是空的。
我认为问题在于 kaggle 使用了一个智能列表,它会随着我向下滚动而扩展。
(我知道我可以使用%>%。我正在保存每个步骤,以便我能够更轻松地访问和查看它们,以便能够了解它是如何正常工作的。)
【问题讨论】:
标签: r web-scraping rvest