使用XML包在R中刮取html标头

时间:2015-10-03 21:34:29

标签: html xml r screen-scraping

我试图从像这样的html代码中提取标题1(h1):

<div class="cuerpo-not"><div mod="2323">
<h1>Jamón 5 Jotas, champagne Bollinger y King Alexander III</h1>

我使用函数xpathSApply()但它什么都不返回:

xpathSApply(webpage, "//div[contains(@class, 'cuerpo-not')]/h1", xmlValue)
# list()

但是当我在没有指定标题类的情况下使用相同的函数时,它会以这种格式返回类下面的所有信息:

xpathSApply(webpage, "//div[contains(@class, 'cuerpo-not')]", xmlValue)

# ;\n\t\t}\n\t}\n\t\n\t\n\tenviarNoticiaLeida_Site( 6916437,16 ) ;\n//]]>Jamón 5 Jotas, champagne Bollinger y King Alexander III\n\n\n\tPor J.M. 

如何以字符串形式提取信息?在其他网页中,以前的代码已经有效。

1 个答案:

答案 0 :(得分:3)

我认为您的查询中只需要/一个h1,而不是//h1,而不是/h1

library(XML)

x <- '<div class="cuerpo-not"><div mod="2323">
<h1>Jamón 5 Jotas, champagne Bollinger y King Alexander III</h1>'

xpathSApply(htmlParse(x), "//div[contains(@class, 'cuerpo-not')]//h1", xmlValue)
# [1] "Jamón 5 Jotas, champagne Bollinger y King Alexander III"