【发布时间】:2016-01-19 03:57:42
【问题描述】:
我有一个包含table 的链接。我尝试的第一件事是查找是否有任何按钮可以点击,不幸的是没有。然后我尝试在R中使用一个名为XML的包来获取不同节点之间的数据,自己构建一个数据框。
为了做到这一点,我需要知道我想提取哪个节点(或 HTML 标记)。于是我在网页浏览器上右击,找到包含我想要的表的标签。
从<fieldset id="result" 开始表格的内容。我们也可以从浏览器中看到表格的第一行是<li class="vesselResultEntry removeBackground">。
然后,当我尝试使用 R 下载此 HTML 时,我发现与表格相关的整个 <li> 标签都消失了,取而代之的是 <li class="toRemove"/>。顺便说一下,下面是我的 R 代码:
library(XML)
url <- "http://www.fao.org/figis/vrmf/finder/search/#stats"
webpage <- readLines(url)
htmlpage <- htmlParse(webpage, asText = TRUE)
data <- xpathSApply(htmlpage, "//ul[@id='searchResultsContainer']")
data
# <ul id="searchResultsContainer" class="clean resultsContainer"><li class="toRemove"></li></ul>
我试图在代码中做的只是看看我是否可以获取特定标签中的内容。显然我要获取的行不在我保存的对象 (webpage) 中。
所以我的问题是:
有没有办法以任何方式下载我想要的表格(最好在 R 中)?
本网站是否有某种保护措施阻止我将整个 HTML 下载为文本文件并获取数据?
非常感谢任何建议
【问题讨论】:
-
@Ouroborus 他正在使用不同的库。
-
研究使用 xPath,这是一种查询 XML 结构的与语言无关的方法。顺便说一句,你从来没有告诉我们你到底想要什么。
-
我实际上是在尝试下载您在该链接中看到的整个表格内容。如果它不可下载,我想通过指定标签名称来获取数据。但是现在似乎当我将 html 保存为文本文件时,包含该表的每一行的标签都消失了。
-
@Ouroborus,感谢您提供的示例,但我在此处提供的链接不是共享的 csv 文件链接。它只是网页的链接。我不确定它是否有效。