首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Rcurl抓取数据

使用Rcurl抓取数据
EN

Stack Overflow用户
提问于 2014-02-24 20:45:37
回答 1查看 273关注 0票数 2

我想用Rcurl和XML从下面的url抓取一些数据。

http://datacenter.mep.gov.cn/report/air_daily/air_dairy.jsp?&lang=

数据范围从"2000-06-05“到"2013-12-30",超过10000页。

此页面中与数据关联的元素。

代码语言:javascript
复制
<form name="report1_turnPageForm" method=post     
action="http://datacenter.mep.gov.cn:80/.../air.../air_dairy.jsp..." style="display:none">
<input type=hidden name=reportParamsId value=122169>
<input type=hidden name=report1_currPage value="1">
<input type=hidden name=report1_cachedId value=53661>
</form>

链接看起来也是这样的

http://datacenter.mep.gov.cn/report/air_daily/air_dairy.jsp?city&startdate=2013-12-15&enddate=2013-12-30&page=31

有开始日期、结束日期和页面..

然后我开始爬网。

代码语言:javascript
复制
require(RCurl)
require(XML)
k = postForm("http://datacenter.mep.gov.cn/report/air_daily/air_dairy.jsp?&lang=")
k = iconv(k, 'gbk', 'utf-8')
k = htmlParse(k, asText = TRUE, encoding = 'utf-8')

然后..我不知道该怎么做next..and我不确定我是否在正确的轨道上?

我也试过这个

代码语言:javascript
复制
k = sapply(getNodeSet(doc = k, path = "//font[@color='#0000FF' and @size='2']"),
       xmlValue)[1:24]

它不工作..。

能给点建议吗?非常感谢!

刮刮和美丽的汤解决方案也是强烈欢迎的!

EN

回答 1

Stack Overflow用户

发布于 2014-02-24 21:18:56

如果XML足够了,也许这将是一个起点:

代码语言:javascript
复制
require(XML)

url <- "http://datacenter.mep.gov.cn/report/air_daily/air_dairy.jsp?city&startdate=2013-12-15&enddate=2013-12-30&page=%d"
pages <- 2
tabs <- vector("list", length=pages)

for (page in 1:pages) {
  doc <- htmlParse(paste(suppressWarnings(readLines(sprintf(url, 
                                                            page), 
                                                    encoding="UTF-8")), 
                         collapse="\n"))
  tabs[[page]] <- readHTMLTable(doc, 
                                header=TRUE, 
                                which=4)  # readHTMLTable(doc)[["report1"]]
}

do.call(rbind.data.frame, tabs) # output
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21988215

复制
相关文章

相似问题

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