Html 对于使用R和XPath 1.0的XML查询,无法提取特定文本
我将非常感谢指导我如何提取这家公司有办事处的四个城市的名称。Firebug的名称在cufontext下变灰,例如Html 对于使用R和XPath 1.0的XML查询,无法提取特定文本,html,xml,r,parsing,xpath,Html,Xml,R,Parsing,Xpath,我将非常感谢指导我如何提取这家公司有办事处的四个城市的名称。Firebug的名称在cufontext下变灰,例如孟菲斯,孟菲斯为灰色。顺便说一句,我不介意回复一些无关的文本,比如州或地址。我有三次失败的努力 library(XML) doc <- htmlTreeParse('http://www.lewisthomason.com/locations/', useInternal = TRUE, asText = TRUE) xpathSApply(doc
孟菲斯
,孟菲斯为灰色。顺便说一句,我不介意回复一些无关的文本,比如州或地址。我有三次失败的努力
library(XML)
doc <- htmlTreeParse('http://www.lewisthomason.com/locations/', useInternal = TRUE, asText = TRUE)
xpathSApply(doc, "//div[@id = 'the_content']", xmlValue, trim = TRUE) # returns list()
xpathSApply(doc, "//div[@id = 'the_content']/div/h3//cufon", xmlValue, trim = TRUE) # returns NULL
xpathSApply(doc, "//div[@id = 'the_content']//cufon[@class = 'cufon cufon-canvas']", xmlValue, trim = TRUE) # returns NULL
库(XML)
doc证明HTML源代码实际上是这样的(格式化和简化):
非常感谢。如果我从Firebug复制HTML源代码,我是否会在这里使用{}操作来像您一样格式化它(红色表示属性,蓝色表示'element'和缩进?>doc xpathsaply(doc,“//div[@id='the_content']/div/h3”,xmlValue,trim=TRUE)null我实际上不熟悉R
,只知道XPath。总之,在看过文档之后(在任何地方都找不到htmlTreeParse()
的文档),asText=TRUE
将导致解析器将您的url视为HTML(尝试打印doc
变量以确认这一点)。我很想接受你的回答,@har07,但它不起作用,如我上面的评论所示。这次为什么需要设置asText=TRUE
?我真的怀疑这会导致一个问题,rl@RichardScriven:谢谢。从网站获取HTML不是问题。提取城市的XPath表达式是阻止我访问的原因下面是建议的答案。
<div id="the_content">
<div class="one_fourth">
<h3>KNOXVILLE</h3>
<p>One Centre Square, Fifth Floor<br>
.....
</div>
....
</div>
//div[@id = 'the_content']/div/h3