天天看點

[開發筆記]-擷取天氣資料接口

 之前做的一個小程式需要擷取天氣預報接口,使用的是中國天氣網的免費接口:

http://m.weather.com.cn/data/101010100.html ,但最近發現這個接口的天氣資料不更新了,最新的天氣是2014年2月19日的。推測可能是加了什麼限制,目前網上搜到的大部分天氣接口都是這個。

      下面的兩個天氣接口倒是仍然可以使用,不過一個是擷取實時天氣情況的,一個是擷取當天整體天氣情況的。對于需要擷取7天内的天氣情況,還需要找尋其他接口來實作。

http://www.weather.com.cn/data/sk/101010100.html

http://www.weather.com.cn/data/cityinfo/101010100.html

       通過這幾天的測試,終于找到了一個可用的,特提供給大家。

接口擷取的就是中天氣網的手機版頁面中的資料,網址為: 首頁-中國天氣網 http://mobile.weather.com.cn/index.html。

       資料是通過webclient,get方式來抓取的。這裡需要指出一個需要注意的地方。

就是在webClient添加的請求頭資訊中加入Referer資訊,否則擷取的天氣資料不是當天的。

擷取的的資料為:

[開發筆記]-擷取天氣資料接口

如果不加Referer頭資訊,擷取到的資料為:

[開發筆記]-擷取天氣資料接口

無論你什麼時候擷取,擷取到的都是20131012這天的天氣資料。奇怪的是time是最新的,一直在更新的。由此也可以看出來,他們是加了某種過濾機制無法擷取真實的當天天氣,這也間接解釋了為什麼上面提到的那個天氣接口不能使用了。

說到這裡那就再加一句,開頭提到的天氣接口 http://m.weather.com.cn/data/101010100.html 即使我加了Referer資訊也不能擷取當天的。

資料抓取代碼:

<a></a>

繼續閱讀