gpt4 book ai didi

xml - readHTMLTable 和 UTF-8 编码

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:39 24 4
gpt4 key购买 nike

我一般在 readHTMLTable 和 XML 包中遇到编码问题。我想从波兰网站 allegro.pl(类似于 ebay 的拍卖网站)下载一些表格,但之后,波兰字体存在编码问题,即使我在中使用 encoding="UTF-8"或 stringsAsFactors=F读取 HTMLTable。

代码:

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)
}

结果:

> 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ł

如果我使用 getURL 或 readLines 没有问题,但我想使用 XML 包,因为它很棒:)

我在使用htmlParse、xpathApply或提到的readHTMLTable等XML封装函数时,总是出现这个问题。

我正在研究 Rstudio 0.94.110 @ Windows7。下面的 SessionInfo。

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

最佳答案

有一段时间,我与 XML 包的创建者 Duncan Temple Lang 一起发送邮件。昨天 (30.01.2012) 他在 Omegahat 网站上上传了新版本的 XML 包。 31 位 R 版本的新版本 3.9-4 消除了这个编码问题! :)

下载包形式链接如下: 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)

它起作用了,所以我们可以关闭这个话题。 :)

关于xml - readHTMLTable 和 UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8965520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com