来源:自学PHP网 时间:2015-04-14 12:58 作者: 阅读:次
[导读] 一、获取原版数据在中国环境监测总站http: www cnemc cn 可以找到全国城市空气质量实时发布平台,其地址为 http: 113 108 142 147:20035 emcpublish 该平台由中山大学智能交通研究中心承担,下附新...
一、获取原版数据 在中国环境监测总站http://www.cnemc.cn/ 可以找到全国城市空气质量实时发布平台,其地址为 http://113.108.142.147:20035/emcpublish/ 下载开始看如何抓取这个网站的数据: 得到的都是TCP的包? 打开一个包的内容看一下,其实是html/xml格式的soap包, HTTP/1.1 200 OK Content-Length: 499 Content-Type: text/xml; charset=utf-8 Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Thu, 30 May 2013 04:52:19 GMT <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><GetCityNameByPIDResponse xmlns="http://tempuri.org/"><GetCityNameByPIDResult xmlns:a="http://schemas.datacontract.org/2004/07/EnvCriteria.Model" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:CityInfo><a:CityCode>110100</a:CityCode><a:CityJC>BJS</a:CityJC><a:CityName></a:CityName><a:ID>1</a:ID><a:ProvinceId>1</a:ProvinceId></a:CityInfo></GetCityNameByPIDResult></GetCityNameByPIDResponse></s:Body></s:Envelope> 看来是SOAP没有被识别,在WireShark上把20035端口加进来,进入 Edit -> Preferences -> Protocols -> HTTP -> TCP Ports 将20035添加进来 这时,可以看到识别成html/xml协议了 同时可以找到这个WebService接口 官方接口地址为: http://113.108.142.147:20035/EnvPubServiceSSL/EnvAQIServeice.svc 一切似乎很顺利,胜利在望。
再来打开看一下soap包的内容 拿出来分析一下: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <GetAllHistoryByNameAndTime0320Response xmlns="http://tempuri.org/"> <GetAllHistoryByNameAndTime0320Result>T/eoSkC02T908BICNUxbXN6bZIWdBhoF45S5uNRQBDFc1RdekG4UNYP9Y1HAr9ZvbVYf0YYIp6Cmr6aHQmgpELOnK7hWUe0K5vDoKEb/BRPSrKEcM7zC7qc6lD5qiPrlIBeH4Dw20pt1aBj9c0t7CYRwforg3E4882URyEOS+zMo0oEewUB7Vza/zT3iWRJ9TsU3CSBCCW0wur6AySyw4O2TgoSb+0CMbtRaC+MPeKBFUtSeGY6JRKljcT+LkSmZqT2XEsJhLfbM1Pidxbh7416VgAI/6n/HwLxjaMBc2k+Sy3IljoVoZfJP9prSbtUqkWJ1eRRqSlIjCgvuonx0hcqDHkQvBIcB/3ifTwI7YB2xs26IDLEjkXvSuMBB3PZnjLMQDMn4Gp1TAcUZLImCv8huYdnqfGzmHf8Khm3MCXnrhCZUoX8tO9H+KEg/8bHOO7gMGXGV+yP8WMHvazZVLRO+OXK0rG4jlYnC0RluUNpC/mOketcu3jPlFS4dQ7qPnn8iN03pF+aeVLVrvmyU5m0IbuTf23VaxEy4/wCtW4WW5Im8kiojWs9Ocm+eYg7WQAn0PjHGMF8tPUBNYHSW/m7tm3H7jXqFXGDTdYHEvW0u1XjGSyHMXaLyrqqEI9v+sBoQ89Vzl+M1d/VnhaxFyPiGzW22Jddqg9EQ5YD+pFI= </GetAllHistoryByNameAndTime0320Result> </GetAllHistoryByNameAndTime0320Response> </s:Body> </s:Envelope> 这个GetAllHistoryByNameAndTime0320Result 这个值如何解密?? 数据无法解密,不再研究下去了,有兴趣研究的可以看 http://www.newsmth.net/nForum/#!article/WebDev/24420
二、使用第三方接口 PM25.in是广州BestApp工作室开发的一个空气质量数据监测产品。收录了全国74个城市,近500个监测点的实时数据(毎小时更新)。数据源于国家环保局和各地环保机构的公开数据。开发团队将所有采集的数据进行统一处理,然后再通过API的方式提供出去。接口地址:http://pm25.in/api_doc 数据格式说明: PM25.in网站提供的空气质量指数实时数据来源于国家环境保护部,API返回的数据包括了以下内容:
使用接口 1.12、获取所有城市的空气质量详细数据
最好的方法是每小时同步这个接口一次,把数据存入本地数据库,再进行分析。
三、效果演示
香港空气污染指数 HongKong Air Pollution Index |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com