2012-06-08 4 views
0

Я собираю данные о разных университетах, и у меня возникает вопрос о следующей ошибке после выполнения следующего кода. Проблема заключается в том, когда с помощью htmlParse()Ошибка при использовании пакета XML в R

Код:

< url1 - "http://nces.ed.gov/collegenavigator/?id=165015"

< webpage1 - GetURL (url1)

< doc1 - htmlParse (webpage1)

Выход:

Ошибка в htmlParse (webpage1): Файл

DOCTYPE HTML PUBLIC! "- // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

html xmlns = "http://www.w3.org/1999/xhtml" head id = "ctl00_hd" meta http-equiv = "Content-type" content = "text/html; charset = UTF-8"/title

College Navigator - National Center for Education Statistics 

/titlelink HREF = "CSS/md0.css" Тип = "текст/CSS" отн = "таблица стилей" мета имя = "ключевые слова" содержание = "колледж-навигатор, поиск колледжа, послесреднего образования, послесреднего статистика , NCES, IPEDS, локатор колледжа "/ meta meta name =" description "content =" College Navigator - бесплатная потребительская инфляция инструмент, предназначенный для помощи учащимся, родителям, старшим школьным советникам и другим лицам, получать информацию о более чем 7 000 высших учебных заведениях в Соединенных Штатах - таких, как предлагаемые программы, показатели удержания и окончания учебы, цены, помощь, дипломы, безопасность на уровне кампуса и аккредитация . "meta> meta name =" robots "content =" index, nofollow "/ metalink

У меня есть веб-страницы, очищенные до использования этого пакета, и у меня никогда не было проблемы. Имеет ли название = «роботы» какое-либо отношение к этому? Любая помощь будет очень признательна.

ответ

1

http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fnces.ed.gov%2Fcollegenavigator%2F%3Fid%3D165015 указывает, что веб-страница плохо сформирована. Ваш браузер может компенсировать это, но ваш пакет R имеет проблемы.

если вы используете окна вы можете получить браузер 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) 
+0

Спасибо за помощь, ваш метод позволил мне разобрать страницу. Еще раз спасибо всем за помощь. – jsmooth

+0

Еще один быстрый вопрос. Вы знаете, как использовать этот скрипт с другим браузером, скажем, Firefox? Я попытался заменить Internet Explorer на Firefox, и это не сработало. Также жаль, что не нажал на вопрос, как ответил, просто присоединился к сайту. – jsmooth

Смежные вопросы