【问题标题】:Historical weather data from NOAA来自 NOAA 的历史天气数据
【发布时间】:2013-11-27 12:36:54
【问题描述】:

我正在从事一个数据挖掘项目,我想收集历史天气数据。我可以通过他们在http://www.ncdc.noaa.gov/cdo-web/search 提供的网络界面获取历史数据。但我想通过 API 以编程方式访问这些数据。根据我在 StackOverflow 上阅读的内容,这些数据应该是公共领域的,但我唯一能找到它的地方是 Wunderground 等非免费服务。如何免费访问这些数据?

【问题讨论】:

标签: web-scraping data-mining weather-api


【解决方案1】:

国家气候数据中心提供的所有服务API列表:http://www.ncdc.noaa.gov/cdo-web/webservices

支持您列出的搜索页面的 API 的完整文档:http://www.ncdc.noaa.gov/cdo-web/webservices/v2

需要令牌,并且每天限制为 1000 个请求。如果您出于正当原因需要提高限制,请联系http://www.ncdc.noaa.gov/customer-support

另外,对于批量下载,请使用 ftp:ftp://ftp.ncdc.noaa.gov/pub/data/

【讨论】:

  • 我遇到了令牌问题,这是我的 curl 请求:curl -H "Authorization: <token>" http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets 其中<token> 是通过电子邮件发送给我的令牌,但它返回错误{"status" : "400", "message" : "Token parameter is required."}跨度>
  • 我只找到了curl() 这样的方法-> curl_setopt($init, CURLOPT_URL, 'http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&startdate='.$startDate.'&enddate='.$endDate.'&datatypeid=TMAX&datatypeid=TMIN&stationid=GHCND:'.$city_id.'&limit='.$limit);//'http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&stationid=GHCND:ZI000067964&limit=31'); curl_setopt($init, CURLOPT_HEADER, false); curl_setopt($init, CURLOPT_HTTPHEADER, array('token:<token here>')); curl_setopt($init, CURLOPT_RETURNTRANSFER, 1);
  • azrosen92: curl -H "token: <token>" http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets
  • API 已更新,文档位于:ncei.noaa.gov/support/…(是的,尽管版本号较低,但这是一个更新)
猜你喜欢
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 2011-12-09
  • 1970-01-01
  • 2013-12-15
  • 2014-03-31
  • 2011-04-25
相关资源
最近更新 更多