[R-br] encoding de páginas web readLines XML

Rubem Kaipper Ceratti rubem_ceratti em yahoo.com.br
Sexta Junho 7 10:45:34 BRT 2013


Walmes,

Colocando a opção encoding = "utf-8" na função htmlTreeParse funciona para mim. 


> library(XML)
> 
> # lê a página do vídeo com esse endereço
> lines <- readLines("http://www.youtube.com/watch?v=P3m6rJR2yDI")
> 
> # organiza
> h <- htmlTreeParse(lines, asText=TRUE, useInternalNodes=TRUE, encoding = "utf-8")
>
> # pega o título do vídeo
> n <- unlist(getNodeSet(doc=h, path="//title", fun=xmlValue))
> n
[1] "Matemática - Estatística: Conceito e frequências - YouTube"
> iconv(n, from="utf-8")
[1] "Matemática - Estatística: Conceito e frequências - YouTube"


Att.,
Rubem


________________________________
 De: walmes . <walmeszeviani em gmail.com>
Para: r-br em listas.c3sl.ufpr.br 
Enviadas: Sexta-feira, 7 de Junho de 2013 9:49
Assunto: [R-br] encoding de páginas web readLines XML
 


Saudações,

Estou fazendo um estudo com vídeos do youtube. A partir dos links eu retiro informações deles, como o título. No entanto, não estou conseguindo acertar o encoding, seja para ler corretamente a página ou para tranformar as strings após a leitura. Com o CMR abaixo eu leio o código de um vídeo do youtube e pego seu título, o problema é que os acentos não são corretamente representados, e eu preciso que sejam. Tentei atribuir um encoding na readLines() mas nenhum dos usados (latin1 e utf-8) funcionaram. Tentei usar a iconv() mas sem sucesso. Uso ubuntu 12.04. Sessão R está no CMR.

library(XML)

# lê a página do vídeo com esse endereço
lines <- readLines("http://www.youtube.com/watch?v=P3m6rJR2yDI")
# lines <- readLines("http://www.youtube.com/watch?v=P3m6rJR2yDI", encoding=?)

# organiza
h <- htmlTreeParse(lines, asText=TRUE, useInternalNodes=TRUE)
summary(h)

# pega o título do vídeo
n <- unlist(getNodeSet(doc=h, path="//title", fun=xmlValue))
n

Encoding(n)

# retira os caracteres estranhos substituindo por vazio
iconv(nap, from="UTF-8", to="ASCII", sub="")
# iconv(n, from=?, to=?)

# Como sai
# "Matemática - Estatística: Conceito e frequências - YouTube"

# Como eu gostaria
# "Matemática - Estatística: Conceito e frequências - YouTube"

## > sessionInfo()
## R version 3.0.1 (2013-05-16)
## Platform: i686-pc-linux-gnu (32-bit)

## locale:
##  [1] LC_CTYPE=pt_BR.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=pt_BR.UTF-8        LC_COLLATE=pt_BR.UTF-8    
##  [5] LC_MONETARY=pt_BR.UTF-8    LC_MESSAGES=pt_BR.UTF-8   
##  [7] LC_PAPER=C                 LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=C       

## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     

## other attached packages:
## [1] XML_3.96-1.1

## loaded via a namespace (and not attached):
## [1] compiler_3.0.1 tools_3.0.1   
## > 

Alguém saberia solucionar esse problema?
Desde já grato.

Walmes.


==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes em ufpr.br
skype: walmeszeviani
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================
_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130607/f7767745/attachment.html>


Mais detalhes sobre a lista de discussão R-br