使用r中的htmlparse拉丁字符的问题

时间:2017-08-25 22:34:44

标签: r encoding utf-8 html-parsing iso-8859-1

我尝试使用葡萄牙语对网页进行网页搜索时遇到了一些编码问题。这是我的代码:

library("RCurl")

library("XML")

html = getURL("http://sei.cade.gov.br/sei/institucional/pesquisa/documento_consulta_externa.php?u0r2HDE7WIdiBH3O1y0Dr6krqmN-VVCNjJtZWrdX1mgt3CiIC_RM90F01GwwNk20muowNXaYKrI2Ob8UQUkAoA,,")

par = htmlParse(html)

x = xpathSApply(par, "//strong", xmlValue)[1]

print(x)

[1] "NOTA TÉCNICA Nº 58/2017/CGAA6/SGA2/SG/CADE"

我尝试过一些事情,例如将encoding="latin1"encoding="UTF-8"添加到htmlParse,然后将.encoding="latin".encoding="UTF-8"添加到getURL 1}}。

我的系统似乎设置在正确的位置,因为Sys.getlocale()给了我

Sys.getlocale()
[1] "LC_COLLATE=Portuguese_Brazil.1252;LC_CTYPE=Portuguese_Brazil.1252;LC_MONETARY=Portuguese_Brazil.1252;LC_NUMERIC=C;LC_TIME=Portuguese_Brazil.1252"

我在这里提出了想法,并希望得到任何帮助。

1 个答案:

答案 0 :(得分:0)

我能够通过一次添加使用您的代码来实现此功能。

## Your code
library("RCurl")
library("XML")
html = getURL("http://sei.cade.gov.br/sei/institucional/pesquisa/documento_consulta_externa.php?u0r2HDE7WIdiBH3O1y0Dr6krqmN-VVCNjJtZWrdX1mgt3CiIC_RM90F01GwwNk20muowNXaYKrI2Ob8UQUkAoA,,")
par = htmlParse(html)
x = xpathSApply(par, "//strong", xmlValue)[1]

## Addition
x2 = iconv(x, from="UTF-8", to="latin1")
print(x2)
"NOTA TÉCNICA Nº 58/2017/CGAA6/SGA2/SG/CADE"