【发布时间】:2016-12-18 20:20:28
【问题描述】:
我一直在尝试阅读和解析一些 HTML,以获取动物收容所的动物状况列表。我确信我对 HTML 解析的缺乏经验并没有帮助,但我似乎没有得到什么快。
这是 HTML 的 sn-p:
<select multiple="true" name="asilomarCondition" id="asilomarCondition">
<option value="101">
Behavior- Aggression, Confrontational-Toward People (mild)
-
TM</option>
....
</select>
标签只有一个<select...>,其余的都是<option value=x>。
我一直在使用 XML 库。我可以删除换行符和制表符,但没有成功删除标签:
conditions.html <- paste(readLines("Data/evalconditions.txt"), collapse="\n")
conditions.text <- gsub('[\t\n]',"",conditions.html)
作为最终结果,我想要一份我可以进一步处理的所有条件的列表,以供以后用作因子名称:
Behavior- Aggression, Confrontational-Toward People (mild)-TM
Behavior- Aggression, Confrontational-Toward People (moderate/severe)-UU
...
我不确定是否需要使用 XML 库(或其他库),或者 gsub 模式是否足够(无论哪种方式,我都需要弄清楚如何使用它)。
【问题讨论】:
-
你能用那个选择框指向完整的 URL 或者扩展一下 sn-p 吗?
-
我发现 rvest 包更易于使用。如果您可以提供该网站的链接,那么有人可以编写您的解决方案。
-
它是 HTML。这是@alistaire 形式的选择列表
-
哎呀,真的。
library(rvest) ; html %>% read_html() %>% html_nodes('option') %>% html_text(trim = TRUE) -
很遗憾,我无法提供网址。它是一个只有用户访问权限的在线 DBMS。我是收容所的一名志愿者,试图帮助进行一些数据分析。我可以拉整个页面,但那里可能有敏感数据。我只是拿了一个动物实例来获得我需要的部分。如果有用的话,我可以发布我拉的整个 sn-p。不过,我会查看 rvest 库!
标签: r html-parsing