我是HTML和XML处理的新手,并且对提取已解析的HTML文档的某些部分有疑问。以下文档doc
是使用htmlTreeParse
包中的XML
生成的,可以使用以下代码进行复制。
访问 href="..."
时,每行末尾的四位数会发生什么变化?我需要提取这些数字,但它们似乎消失。
library(XML)
doc <- htmlTreeParse("http://www.retrosheet.org/gamelogs/index",
useInternalNodes = TRUE)
doc["//a/@href"][100:101]
# [[1]]
# href
# "http://www.retrosheet.org/gamelogs/gl1924.zip"
# attr(,"class")
# [1] "XMLAttributeValue"
#
# [[2]]
# href
# "http://www.retrosheet.org/gamelogs/gl1925.zip"
# attr(,"class")
# [1] "XMLAttributeValue"
所以基本上,从下面我想提取最后四位数。结果应该是向量
[1] 1871 1872 ... ... 2012 2013
在这里查看html文档
...
<br/>
</b>
<pre>
<a href="http://www.retrosheet.org/gamelogs/gl1871.zip">1871</a>
<a href="http://www.retrosheet.org/gamelogs/gl1872.zip">1872</a>
... ....
... ....
<a href="http://www.retrosheet.org/gamelogs/gl2012.zip">2012</a>
<a href="http://www.retrosheet.org/gamelogs/gl2013.zip">2013</a>
</pre>
<a href="http://www.retrosheet.org/gamelogs/glws.zip">World Series</a>
<br/>
<a href="http://www.retrosheet.org/gamelogs/glas.zip">All-Star</a>
<br/>
答案 0 :(得分:1)
如果您想要值而不是href属性,请尝试以下操作之一:
doc["//a/text()"][100:101]
sapply(doc["//a"][100:101], xmlValue)
sapply(doc["//a"][100:101], xmlValue, trim = TRUE)