Это является продолжением на вопрос, который я поставил год назад здесь: How can I extract info from xml page with RПоследующие: Как загрузить XML, когда это как-то HTML
решение, предложенное работал в течение достаточно долгого времени. К сожалению, я никогда не думал об этом после того, как он работал гладко. Теперь R вызывает у меня ошибку, и я, очевидно, не знаю, как это сделать.
Вот что я хочу сделать:
require(XML)
require(RCurl)
url <- "http://ws.parlament.ch/votes/councillors?affairNumberFilter=20130051&format=xml"
affairs_det <- getURL(url, .opts=c(user_agent("Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"),
verbose()), asNames=TRUE)
#This worked, but not anymore
Error in function (type, msg, asError = TRUE) : No URL set!
In addition: Warning message:
In mapCurlOptNames(names(.els), asNames = TRUE) :
Unrecognized CURL options: output, auth_token, options, fields, headers, method, url
affairs_det_parsed <- xmlTreeParse(substr(affairs_det,4,nchar(affairs_det)), encoding = "UTF-8")
Вопрос-то в два раза. Во-первых, как загрузить файл, который кажется xml, но если я загружу его с помощью download.file(url, destfile="test.xml")
, это будет html? Я считаю, что настройка user_agent
обрабатывается, что ...?
Во-вторых, я не понимаю ошибку?
Редактировать
Я хотел бы получить доступ к информации с помощью тега, здесь, например id
. Перед ошибкой mysterios это сработало.
infofile <- xmlRoot(affairs_det_parsed)
#gets councillor ids
id <- getNodeSet(infofile, paste0("//councillors/councillor/id"))
id <- lapply(id, function(x) xmlSApply(x, xmlValue))
id <- sapply(id, "[[", 1)
Спасибо!
Следующие работы для меня. 'events_det <- getURL (url, asNames = TRUE);', хотя выдает предупреждение, о котором вы упомянули. Infact даже 'download.file (url," test.xml ")' отлично работает. И загруженный 'xml' обрабатывается отлично. Не уверен, что один и тот же проанализированный 'xml' служит вашей цели. – Frash
@Frash Это загружает контент, но, к сожалению, без тегов. – Thomas
«Появляется, чтобы быть XML ..» Это не так. http://ws.parlament.ch/votes/councillors?affairNumberFilter=20130051&format=xml приводит к XML не HTML. Загрузите его в свой браузер, затем просмотрите источник страницы. – Paulb