首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析日语网站

解析日语网站
EN

Stack Overflow用户
提问于 2017-08-27 10:53:14
回答 2查看 186关注 0票数 0

我想分析一下日本网站上关于东京房屋销售的一些数据。代码如下所示:

代码语言:javascript
复制
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)

但解析后的数据显示为一些不可读的字符,如下所示:

代码语言:javascript
复制
> 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”,但它不起作用。

我在解析方面是新手...任何帮助都将深表感谢。

EN

回答 2

Stack Overflow用户

发布于 2017-08-27 11:08:26

您应该传递指定rcurl中的编码参数。

代码语言:javascript
复制
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这样的错误字符串(注意,它不是原始的二进制数据)。

当然,你不能得到正确的结果。

票数 0
EN

Stack Overflow用户

发布于 2017-08-27 11:14:16

我不能让你的原始版本工作,但这里有一个移植到rvest的版本:

代码语言:javascript
复制
library(rvest)

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'

html <- read_html(orgURL1)

text <- html %>% 
    html_nodes(xpath = "//*/div/div/dl[@class='clearfix']") %>%
    html_text(trim = TRUE)

head(text)
#> [1] "価格\n    \t\t\t\t\t\t\t\t\t4,200万円"                                
#> [2] "所在地\n    \t\t\t\t\t\t\t\t\t東京都足立区島根4丁目"                 
#> [3] "交通\n    \t\t\t\t\t\t\t\t\t東武伊勢崎・大師線「西新井」駅より徒歩8分"
#> [4] "間取り/専有面積\n    \t\t\t\t\t\t\t\t\t2LDK / 73.51m²"                
#> [5] "所在階(向き)\n    \t\t\t\t\t\t\t\t\t1階部分(南)/地上10階建て"     
#> [6] "築年月\n    \t\t\t\t\t\t\t\t\t2011年02月築"

您看到的内容可能与区域设置有关,如果您没有可用的CJK字体,则很明显不会正确显示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45901310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档