【发布时间】:2014-08-13 22:42:12
【问题描述】:
我正在尝试通过以下代码获取链接列表
url.i<-"http://www.mijnwoordenboek.nl/duits/synoniemen/A/1.html"
doc<-htmlTreeParse(url.i,useInternal=TRUE,encoding="UTF-8")
xpathSApply(doc,"//a",xmlGetAttr,'href')[82]
输出: [1] "http://www.mijnwoordenboek.nl/duits/synoniemen/abbeißen"
但输出中的问题是“abbeißen”,但它应该是“abbeißen”,我已经指定了编码。
以下版本出现同样的问题
Windows、R 64 位 3.1.0 和 XML_3.98-1.1
Windows、R 64 bit-3.1.1 和 XML_3.98-1.1
Windows、R 32 位 3.1.0 和 XML_3.98-1.1
【问题讨论】:
-
我没有得到相同的结果。它按预期为我输出
"http://www.mijnwoordenboek.nl/duits/synoniemen/abbeißen"。如果你对这个结果执行Encoding(),你会得到什么?您使用的是什么操作系统、R 版本和XML版本?此处为 Mac、R 3.1.0 和 XML_3.98-1.1 -
Encoding() 返回“未知”。
-
我可以在 Windows 上重现它 -
Encoding()是unknown,尽管它s in factutf-8`(=> 如果你手动设置它就可以工作)。奇怪.. -
谢谢,我也可以继续使用这个临时解决方案。
-
有趣的是,这似乎只发生在
xmlGetAttr。例如xpathSApply(doc,"//a",xmlValue)[82]似乎保持正确的编码。