我正在从网上抓取数据。我使用了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")
这似乎创造了相同的结果,感谢大家的帮助
答案 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编制索引。