感谢楼上两位大侠,自己也在摸索,通过R可以获取这一页的数据了,但代码显示不够精练啊[s:12]
那个API没看呢,这方面绝对是没接触过的小白。
<br />
url = "http://www.pm25s.com/cn/30/beijing.html"<br />
doc = readLines(url, encoding="UTF-8")<br />
expr1 = "<span class=\"site\">.*</span>"<br />
doc1 <- grep(expr1, doc, value=TRUE)<br />
</p>
tempexpr1 <- "<div class=\"aqi_top\">"
tempexpr2 <- "<span class=\"site\">"
tempexpr3 <- "<span class=\"quality\">"
tempexpr4 <- "<span class=\"aqis\">"
tempexpr5 <- "<span class=\"lv[0-9]\">"
tempexpr6 <- "</span>"
tempexpr7 <- "</div>"
tempexpr8 <- "<div>"
<br />
tempexpr <- paste(tempexpr1,tempexpr2, tempexpr3, tempexpr4, tempexpr5, tempexpr6, tempexpr7, tempexpr8, sep="|",collapse="|" )<br />
tempdoc1 <- gsub(tempexpr, " ", doc1)<br />
tempdoc1 <- gsub("/", " ", tempdoc1)<br />
tempdoc2 <- strsplit(tempdoc1, " +")<br />
</p>
<br />
df <- t(as.data.frame(tempdoc2, row.names=NULL, stringsAsFactors=FALSE))<br />
df1 <- as.data.frame(tempdoc2)<br />
df2 <- t(df1)<br />
df3 <- as.data.frame(df2, row.names="", optional=TRUE)<br />
df4 <- df3[-1,-1]<br />
as.data.frame(df4, col.names=df3[1,])<br />
names(df4) <- df3[1,]<br />
names(df4)<br />
names(df4)[1] <- "日期"<br />
names(df4)[2] <- "AQI排名"<br />
names(df4)[3] <- "AQI"<br />
names(df4)[4] <- "PM2.5"<br />
names(df4)[5] <- "PM10"<br />
names(df4)[6] <- "CO"<br />
names(df4)[7] <- "NO2"<br />
names(df4)[8] <- "SO2"<br />
names(df4)[9] <- "O3-1h"<br />
names(df4)[10] <- "o3-8h"<br />
names(df4)[11] <- "空气质量"<br />
print(df4)<br />
</p>
[data]
> print(df4)
日期 AQI排名 AQI PM2.5 PM10 CO NO2 SO2 O3-1h o3-8h 空气质量
2 2013-11-26 第3位 38 16 48 0.741 22 10 39 32 优
3 2013-11-25 第15位 60 14 26 0.543 23 9 34 37 良
4 2013-11-24 第75位 167 71 132 1.194 42 26 23 20 中度污染
5 2013-11-23 第75位 204 176 155 2.94 98 57 14 14 重度污染
6 2013-11-22 第62位 135 124 121 2.271 82 45 10 12 轻度污染
7 2013-11-21 第28位 93 91 102 1.935 70 35 - - 良
8 2013-11-20 第25位 75 60 80 1.661 55 24 - - 良
9 2013-11-19 第1位 24 31 41 0.764 38 16 - - 优
10 2013-11-18 第1位 20 9 17 0.421 19 7 - - 优
11 2013-11-17 第1位 34 10 22 0.471 21 7 - - 优
12 2013-11-16 第39位 111 41 94 0.791 30 12 - - 轻度污染
13 2013-11-15 第48位 98 93 169 2.137 82 28 - - 良
14 2013-11-14 第92位 172 68 93 1.302 55 20 - - 中度污染
15 2013-11-13 第81位 115 150 180 2.755 98 50 - - 轻度污染
16 2013-11-12 第68位 78 56 84 1.36 58 22 - - 良
17 2013-11-11 第12位 44 38 65 0.774 54 18 - - 优
18 2013-11-10 第19位 53 17 44 0.47 29 9 - - 良
19 2013-11-09 第95位 179 90 109 1.577 66 40 - - 中度污染
20 2013-11-08 第56位 107 127 161 2.228 94 50 - - 轻度污染
21 2013-11-07 第4位 57 33 57 0.304 43 10 -10 -10 良
22 2013-11-06 第109位 196 92 138 1.497 56 10 - - 中度污染
23 2013-11-05 第84位 114 146 191 2.065 96 24 - - 轻度污染
24 2013-11-04 第2位 39 37 61 0.869 55 10 - - 优
25 2013-11-03 第103位 214 54 56 0.825 46 6 - - 重度污染
26 2013-11-02 第108位 257 243 263 2.141 105 12 - - 重度污染
27 2013-11-01 第104位 210 182 206 1.908 102 15 - - 重度污染
28 2013-10-31 第90位 145 138 165 1.638 98 11 6 10 轻度污染
29 2013-10-30 第20位 63 74 104 1.175 73 12 15 14 良
30 2013-10-29 第83位 208 41 73 0.916 47 11 28 28 重度污染
31 2013-10-28 第104位 279 267 293 2.919 114 33 13 16 重度污染
[/data]