Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R转换网页抓取中的特殊符号?_R - Fatal编程技术网

如何使用R转换网页抓取中的特殊符号?

如何使用R转换网页抓取中的特殊符号?,r,R,我正在学习如何使用XML和RCurl软件包浏览网页。除了一件事,一切都很顺利。像öorč这样的特殊字符以不同的方式读入R。例如,í被读入为Ã。我假设后者是第一种HTML编码 我一直在寻找一种方法来转换这些字符,但我没有找到它。我相信其他人也发现了这个问题,我怀疑一定有某种函数可以转换这些字符。有人知道解决办法吗?提前谢谢 下面是一个代码示例,很抱歉我之前没有提供它 library(XML) url <- 'http://en.wikipedia.org/wiki/2000_Wimbl

我正在学习如何使用
XML
RCurl
软件包浏览网页。除了一件事,一切都很顺利。像öorč这样的特殊字符以不同的方式读入R。例如,í被读入为Ã。我假设后者是第一种HTML编码

我一直在寻找一种方法来转换这些字符,但我没有找到它。我相信其他人也发现了这个问题,我怀疑一定有某种函数可以转换这些字符。有人知道解决办法吗?提前谢谢

下面是一个代码示例,很抱歉我之前没有提供它

library(XML)
url <-   'http://en.wikipedia.org/wiki/2000_Wimbledon_Championships_%E2%80%93_Men%27s_Singles'
tables <- readHTMLTable(url)
Sec <- tables[[6]]
pl1R1 <- unlist(strsplit(as.character(Sec[,2]), ' '))[seq(2,32, 4)]
enc2utf8(pl1R1) # does not seem to work
库(XML)

url请在指定编码时首先尝试对其进行解析,然后读取表,如下所示:

例如:

library(XML)
url <- "http://en.wikipedia.org/wiki/2000_Wimbledon_Championships_%E2%80%93_Men%27s_Singles"
doc <- htmlParse(url, encoding = "UTF-8") #this will preserve characters
tables <- as.data.frame(readHTMLTable(doc, stringsAsFactors = FALSE))
Sec <- tables[[6]]
#not sure what you're trying to do here though
pl1R1 <- unlist(strsplit(as.character(Sec[,2]), ' '))[seq(2,32, 4)] 
库(XML)

url这是一个又一个问题,您可能希望将文件转换为UTF-8。看看
iconv
函数,在许多XML函数中还有一个
enconding
参数,看起来方向正确!我查看了函数,但需要在
from
参数中指定原始编码。我还研究了
htmlpasse
函数。您可以在那里指定编码,但当编码出现在html文件中时,它将自动拾取编码。显然,html文件中不存在编码,否则函数会选择它。我需要手动指定编码,但如何知道编码?我使用Linux,并且我知道我的区域设置是UTF-8,所以每次我有文件时,我都使用
enconding=UTF-8
。关于iconv,有时很难从中了解,但存在
enc2ntive
enc2utf8
,它们不需要知道文件的编码。希望有帮助,但是通过你的代码+你想要解析的url,我相信我们可以得到更精确的答案