我是XPath的新手,但我知道它的功能强大。我正在查看link的源代码,只是想从以下两页中提取内容和用户名,为简单起见,它们位于源代码的顶部附近。
content="[Archive] Simburgur's Live Stream [Offline] Gears of War 3"
<div class="username">Simburgur</div>
这是我在R中的代码:
doc <- htmlParse("http://forums.epicgames.com/archive/index.php/t-672775.html")
xpathSApply(doc, "//head/meta[@name=\"description\"]")
哪个返回
[[1]]
<meta name="description" content="[Archive] Simburgur's Live Stream [Offline] Gears of War 3" />
显然,在此示例中,我想要的只是content =引号内的内容,但被卡住了,似乎无法使我的表达式返回想要的字符串。
我重复。我是XPath的新手。 :)
最佳答案
使用:
/*/head/meta[@name='description']/@content
仍然选择一个属性节点,但是在PL中可能有一种简单的方法来获取属性的字符串值。
要只获取字符串值,请使用:
string(/*/head/meta[@name='description']/@content)
请注意:使用
//
缩写可能会导致XPath表达式的求值速度非常慢,因为它可能导致整个(子)树的线性遍历。如果XML文档的结构是静态已知的,则始终避免使用
//
。
关于r - R中使用XML包的XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4870207/