Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从HTML解析文档中提取信息_R - Fatal编程技术网

R 从HTML解析文档中提取信息

R 从HTML解析文档中提取信息,r,R,我不熟悉HTML和XML处理,对提取已解析HTML文档的某些部分有疑问。以下文档doc,是使用包XML中的htmlTreeParse生成的,可以使用以下代码进行复制 当访问href=“…”时,每行末尾的四位数字会发生什么变化?我需要提取这些数字,但它们似乎消失了 library(XML) doc <- htmlTreeParse("http://www.retrosheet.org/gamelogs/index", useInternalNodes

我不熟悉HTML和XML处理,对提取已解析HTML文档的某些部分有疑问。以下文档
doc
,是使用包
XML
中的
htmlTreeParse
生成的,可以使用以下代码进行复制

当访问
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"
下面是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/>
。。。

... .... ... ....


如果希望使用值而不是href属性,请尝试以下操作之一:


如果您想要值而不是href属性,请尝试
doc[“//a/text()”][100:101]
sappy(doc[“//a”][100:101],xmlValue,trim=TRUE)
。谢谢。很高兴我没有去
grep
。你会提交答案吗?
...
  <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/>
doc["//a/text()"][100:101] 
sapply(doc["//a"][100:101], xmlValue) 
sapply(doc["//a"][100:101], xmlValue, trim = TRUE)