htmlTreeParse到向量R

时间:2015-10-24 20:43:29

标签: xml r rcurl

我正在从网上抓取数据。我使用了readlines()但现在我必须将它改为getURL()和htmlTreeParse()。

    a <- getURL(URL)
    b<-htmlTreeParse(a, encoding = "UTF-8")

问题是b $ children $ html $ body为我返回null。 现在我一直试图将解析后的每一行html变成一个向量。

我会感激每一个想法。

//修改

我正试图从这个网站上搜集

url<-"http://www.registeruz.sk/cruz-public/domain/accountingentity/show/1545622"

当我打印var b代码的网站看起来可读,一切似乎都很好

// EDIT2

b$children$html['body']$body

似乎最接近解决方案

为了更清楚,我希望使用与readlines()之后相同的输出。因此HTML的每一行都是向量的组成部分

//最终编辑

  b <- htmlTreeParse(url, useInternalNodes=TRUE)
  html<-b["//body"][[1]]
  html<-as(html,"character")
  vectors<-strsplit(html,"\n")

这似乎创造了相同的结果,感谢大家的帮助

1 个答案:

答案 0 :(得分:1)

其中任何一个都应该有效:

url<-"http://www.registeruz.sk/cruz-public/domain/accountingentity/show/1545622"

b <- htmlTreeParse(url)
classs(b)
# [1] "XMLDocumentContent"
b$children$html["body"]

或者:

b <- htmlTreeParse(url, useInternalNodes=TRUE)
class(b)
# [1] "HTMLInternalDocument" "HTMLInternalDocument" "XMLInternalDocument"  "XMLAbstractDocument" 
b["//body"]

在后一个示例中,b是一个已解析的XML文档,因此可以使用xPath编制索引。