2012-01-22 8 views
6

Tengo un problema de codificación con el paquete readHTMLTable y XML en general. Me gustaría descargar algunas tablas del sitio polaco allegro.pl (sitio de subastas similar a ebay), pero después de eso, hay un problema de codificación con fuentes polacas, incluso si utilicé encoding = "UTF-8" o stringsAsFactors = F en readHTMLTable.codificación de lectura HTMLTable y UTF-8

Código:

library(XML) 
url<-paste("http://allegro.pl/listing.php/search?category=15821&sg=0&p=",1:5,"&string=facebook",sep="") 

alldata<-NULL 

for (i in 1:5){ 
dane<-as.data.frame(readHTMLTable(url[i],1,stringsAsFactors = TRUE, encoding="UTF-8")$lista) 
alldata<-rbind(alldata,dane) 
} 

Resultado:

> head(alldata[,c(2,3)]) 
                 V2      V3 
1  Facebook Fan Page z ANIMACJĄ indywidualny projekt Kup Teraz! 150,00 zł 
2 Lubię to! Facebook! OKAZJA!!! 160 FANĂ“W!!! ZOBACZ! Kup Teraz! 10,99 zł 
3 125 fanĂÂłw fani like fanpage FACEBOOK polskie konta Kup Teraz! 10,00 zł 
4 Reklama Fanpage 43500+ fanĂÂłw, fani, facebook Efekt Kup Teraz! 17,99 zł 
5  Facebook Fanpage -Stworzenie Profesjonalnego Konta Kup Teraz! 77,90 zł 
6  Facebook Fanpage -Skuteczna Obsługa/Reklama /FV Kup Teraz! 100,00 zł 

Si uso getUrl o readlines no hay problema, pero quiero usar paquete XML, por culpa es gran cosa :)

Siempre hay este problema cuando uso funciones de paquetes XML como htmlParse, xpathApply o he leído readHTMLTable.

Estoy trabajando en Rstudio 0.94.110 @ Windows7. SessionInfo a continuación.

R version 2.14.0 (2011-10-31) 
Platform: x86_64-pc-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=Polish_Poland.1250 LC_CTYPE=Polish_Poland.1250 LC_MONETARY=Polish_Poland.1250 LC_NUMERIC=C     LC_TIME=Polish_Poland.1250  

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

other attached packages: 
[1] spdep_0.5-41  coda_0.14-6  deldir_0.0-16 maptools_0.8-10 foreign_0.8-46 nlme_3.1-102  Matrix_1.0-1  lattice_0.20-0 boot_1.3-3  
[10] sp_0.9-91  maps_2.2-2  RCurl_1.7-0.1 bitops_1.0-4.1 XML_3.4-2.2  Cairo_1.5-1  car_2.0-11  survival_2.36-10 nnet_7.3-1  
[19] MASS_7.3-16  

loaded via a namespace (and not attached): 
[1] grid_2.14.0 tools_2.14.0 

Respuesta

4

Estuve enviando un correo con Duncan Temple Lang, el creador del paquete XML. Ayer (30.01.2012) subió una nueva versión del paquete XML en el sitio web de Omegahat. ¡La nueva versión 3.9-4 para la versión de 31 bits de R elimina este problema de codificación! :)

descarga Paquete de forma siguiente enlace: http://www.omegahat.org/R/bin/windows/contrib/2.14/

library(XML) 
url<-paste("http://allegro.pl/listing.php/search?category=15821&sg=0&p=",1:5,"&string=facebook",sep="") 
doc = htmlParse(url[1], encoding = "UTF-8") 
z = as.data.frame(readHTMLTable(doc, stringsAsFactors = FALSE)$lista) 

Funciona, así que puede cerrar este tema. :)

Cuestiones relacionadas