使用R读取html但出错了

时间:2016-06-01 03:37:39

标签: r xml rvest

http://www.aqistudy.cn/historydata/daydata.php?city=%E8%8B%8F%E5%B7%9E&month=201504 这是我想要读取数据的网站。

我的代码如下,

library(XML)
fileurl <- "http://www.aqistudy.cn/historydata/daydata.php?city=苏州&month=201404"

doc <- htmlTreeParse(fileurl, useInternalNodes = TRUE, encoding = "utf-8")

rootnode <- xmlRoot(doc)

pollution <- xpathSApply(rootnode, "/td", xmlValue)

但是我得到了很多混乱的代码,我不知道如何解决这个问题。

我感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

使用library(rvest)直接读取表格

可以简化这一过程
library(rvest)

url <- "http://www.aqistudy.cn/historydata/daydata.php?city=%E8%8B%8F%E5%B7%9E&month=201504"

doc <- read_html(url) %>%
    html_table()

doc[[1]]
#          日期 AQI   范围 质量等级 PM2.5  PM10  SO2    CO   NO2  O3 排名
# 1  2015-04-01 106 67~144 轻度污染  79.3 105.1 20.2 1.230  89.5  76  308
# 2  2015-04-02  74 31~140       良  48.1  79.7 18.8 1.066  51.5 129  231
# 3  2015-04-03  98 49~136       良  72.9  89.2 16.0 1.323  50.9  62  293
# 4  2015-04-04  92 56~158       良  67.6  78.2 14.3 1.506  57.4  93  262
# 5  2015-04-05  87 42~167       良  63.7  56.1 16.9 1.245  50.8  91  215
# 6  2015-04-06  46  36~56       优  29.1  30.8 10.0 0.817  37.5  98  136
# 7  2015-04-07  45  34~59       优  27.0  42.4 12.0 0.640  36.6  77  143