Я пытаюсь извлечь текст из источника на испанском языке в R и запустить проблему с символьной кодировкой, которая не разрешена путем явного указания кодировки в htmlParse
, как рекомендовано here.ошибка кодирования символов не разрешена путем указания кодировки
library(XML)
library(httr)
url <- "http://www3.hcdn.gov.ar//folio-cgi-bin/om_isapi.dll?E1=&E11=&E12=&E13=&E14=&E15=&E16=&E17=&E18=&E2=&E3=&E5=ley&E6=&E7=&E9=&headingswithhits=on&infobase=proy.nfo&querytemplate=Consulta%20de%20Proyectos%20Parlamentarios&record={4EBB}&recordswithhits=on&softpage=Document42&submit=ejecutar%20"
doc <- htmlParse(rawToChar(GET(url)$content),encoding="windows-1252")
text <- xpathSApply(doc, "//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)][not(ancestor::form)]", xmlValue)
text[77]
77-й элемент, содержащий акцентированный i, имеет оскорбительные символы. Четвертая строка содержит несколько дополнительных обручей, которые я должен пропустить, чтобы прочитать этот источник. Сам документ утверждает, что он закодирован в «windows-1252». Задание «latin1» и нескольких других кодировок, которые я пробовал, не лучше. В моем фактическом приложении я уже загрузил многие из этих файлов и читаю их локально, используя readLines
... и могу сказать, что ошибки нет после прочтения файла в R, поэтому проблема должна быть в htmlParse
. Кроме того, просто принятие ошибки кодирования и исправление ее ex post не представляется возможным, поскольку R даже не распознает символы, которые он выплевывает, если я попытаюсь скопировать и вставить их обратно в скрипт.