我想分析一下日本网站上关于东京房屋销售的一些数据。代码如下所示:
library(XML)
library(bitops)
library(RCurl)
library(httr)
orgURL1 = 'http://www.stepon.co.jp/search/list/?pageNo=2&limit=100&prefCityCd=13_101&prefCityCd=13_103&prefCityCd=13_102&prefCityCd=13_104&prefCityCd=13_113&prefCityCd=13_105&prefCityCd=13_116&prefCityCd=13_117&prefCityCd=13_119&prefCityCd=13_108&prefCityCd=13_107&prefCityCd=13_106&prefCityCd=13_118&prefCityCd=13_123&prefCityCd=13_121&prefCityCd=13_122&prefCityCd=13_109&prefCityCd=13_110&prefCityCd=13_111&prefCityCd=13_112&prefCityCd=13_114&prefCityCd=13_115&prefCityCd=13_120&hanbaiKakakuMin=&hanbaiKakakuMax=&senyuMensekiMin=&senyuMensekiMax=&tohoTime=&chikunensu=&chijoKaiso=&souKosu=&floor=&mansionNm=&searchType=area&prefCd=13&type=mansion'
pttURL <- paste(orgURL1)
urlExists <- url.exists(pttURL)
alldata = data.frame()
html <- getURL(pttURL)
xml <- htmlParse(html, encoding = 'jis')
allinfo = xpathApply(xml,"//*/div/div/dl[@class='clearfix']",xmlValue)
tempdata = cbind(allinfo)
alldata = rbind(tempdata)但解析后的数据显示为一些不可读的字符,如下所示:
> head(allinfo)
[[1]]
[1] "i\n \t\t\t\t\t\t\t\t\t1,500~\n \t\t\t\t\t\t\t\t"
[[2]]
[1] "Yn\n \t\t\t\t\t\t\t\t\ts`aOaXU\n \t\t\t\t\t\t\t\t"
[[3]]
[1] "eE\n \t\t\t\t\t\t\t\t\tgcacuuTOavwaeka3agcacuuOavwaeka9aguaJuuZ{Ovwaeka9a\n \t\t\t\t\t\t\t\t"
[[4]]
[1] "Oae/eLEI\n \t\t\t\t\t\t\t\t\t[\xc2\u0080 / 20.46m簡\n \t\t\t\t\t\t\t\t"
[[5]]
[1] "YKiuj\n \t\t\t\t\t\t\t\t\t1Kaij/na6KA\n \t\t\t\t\t\t\t\t"
[[6]]
[1] "zN\n \t\t\t\t\t\t\t\t\t1977N05z\n \t\t\t\t\t\t\t\t"我想这应该与编码有关,但我尝试了“shift-jis”,但它不起作用。
我在解析方面是新手...任何帮助都将深表感谢。
发布于 2017-08-27 11:08:26
您应该传递指定rcurl中的编码参数。
html <- getURL(pttURL,.encoding='shift_jis')
xml <- htmlParse(html)否则,html输入是像<meta content=\"\u0090ç\u0091ã\u0093c\u008bæ,\u0092\u0086\u0089\u009b\u008bæ,\u0093\u008c\u008b\u009e\u0093s,\u0092\u0086\u008cÃ\u0083}\u0083\u0093\u0083V这样的错误字符串(注意,它不是原始的二进制数据)。
当然,你不能得到正确的结果。
https://stackoverflow.com/questions/45901310
复制相似问题