【发布时间】:2015-01-31 02:04:35
【问题描述】:
我正在使用 R 中的 XML 库并希望将 HTML 分成块
myHTML <- htmlTreeParse("myHTMLfile.HTML", useInternal=T)
unlist(xpathApply(myHTML, '//div', xmlValue))
这很好用,并为我提供了一个长字符串向量。但是,理想情况下,我想将我的 HTML 分成几块。 HTML结构如下:
<DOC>
<div>
Document 1 - Element 1
</div>
<div>
Document 1 - Element 2
</div>
<div>
Document 1 - Element 3
</div>
</DOC>
<DOC>
<div>
Document 2 - Element 1
</div>
<div>
Document 2 - Element 2
</div>
<div>
Document 2 - Element 3
</div>
</DOC>
所以我想要一个列表,其中每个元素对应一个中的内容,每个列表的元素都是字符串向量,包含每个DOC的元素1、2、3。
我很难 (A) 甚至查询“DOC”,因为它不是命名空间的一部分?? (B) 得到这种字符串向量列表输出。
所以而不是这个输出
[1] "Document 1 - Element 1"
[2] "Document 1 - Element 2"
[3] "Document 1 - Element 3"
[4] "Document 2 - Element 1"
[5] "Document 2 - Element 2"
[6] "Document 2 - Element 3"
我希望得到这个:
[[1]]
[1] "Document 1 - Element 1"
[2] "Document 1 - Element 2"
[3] "Document 1 - Element 3"
[[2]]
[1] "Document 2 - Element 1"
[2] "Document 2 - Element 2"
[3] "Document 2 - Element 3"
非常感谢您的帮助!
这是我要处理的 html 文件的示例:
https://raw.githubusercontent.com/sytpp/sample-files/master/data_3.html
【问题讨论】:
标签: html xml r xpath html-parsing