我正在尝试通过以下代码获取链接列表
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 bit-3.1.0和XML_3.98-1.1
Windows,R 64位-3.1.1和XML_3.98-1.1
Windows,R 32位-3.1.0和XML_3.98-1.1
答案 0 :(得分:0)
似乎遗憾的是xmlGetAttr
并不支持xmlValue
之类的编码。但您可以指定要与xmlGetAttr
一起使用的转换器。这是一个将字符值标记为UTF-8
markUTF8 <- function(x) `Encoding<-`(x, "UTF-8")
然后您可以将其与
一起使用xpathSApply(doc,"//a",xmlGetAttr,'href', converter=markUTF8)[82]
# [1] "http://www.mijnwoordenboek.nl/duits/synoniemen/abbeißen"