中的R使用XML包错误(Error using XML package in R)

2019-10-16 20:14发布

我收集关于不同大学的数据和我有一个关于执行以下代码后跟随误差问题。 使用htmlParse时的问题是()

码:

URL1 < - “http://nces.ed.gov/collegenavigator/?id=165015”

网页1 < - 使用getURL(URL1)

DOC1 < - htmlParse(网页1)

输出:

错误htmlParse(网页):文件

!DOCTYPE HTML PUBLIC “ - // W3C // DTD XHTML 1.0过渡// EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”

HTML的xmlns = “http://www.w3.org/1999/xhtml” 头ID = “ctl00_hd” META HTTP-当量= “内容类型” CONTENT = “text / html的;字符集= UTF-8”/标题

    College Navigator - National Center for Education Statistics

/ titlelink HREF = “CSS / md0.css” 类型= “文/ CSS” 相对= “样式” META NAME = “关键词” 内容=“大学导航,大学搜索,中学后教育,高等教育统计,NCES,IPEDS,高校定位器“/元META NAME =”说明“内容=”大学导航仪是旨在帮助学生,家长,中学辅导员,和其他人获取有关在美国超过7000个高等教育机构的信息自由消费信息工具 - 如方案提供,保留和毕业率,价格,提供援助,学位授予,校园安全,和认可。“META> META NAME =”机器人”内容=‘指数,nofollow的’/ Metalink知识库

我有网刮页面使用这个包之前,我从未有过的问题。 这个名字=“机器人”有什么关系呢? 任何帮助将不胜感激。

Answer 1:

http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fnces.ed.gov%2Fcollegenavigator%2F%3Fid%3D165015表示格式错误的网页。 您的浏览器可以弥补这一点,但你的[R包有问题。

如果您使用的是Windows,你可以得到的IE浏览器为您解决问题如下:

library(rcom)
library(XML)
ie = comCreateObject('InternetExplorer.Application')
ie[["visible"]]=T # true for debugging
comInvoke(ie,"Navigate2","http://nces.ed.gov/collegenavigator/?id=165015")
while(comGetProperty(ie,"busy")||comGetProperty(ie,"ReadyState")<4){
 Sys.sleep(1)
 print(comGetProperty(ie,"ReadyState"))
}
myDoc<-comGetProperty(ie,"Document")
webpage1<-myDoc$getElementsByTagName('html')[[0]][['innerHTML']]
ie$Quit()
doc1 <- htmlParse(webpage1)


文章来源: Error using XML package in R