改:Json获取中国天气网天气。

这两天搞个天气预报,记得以前用.net版本有种是抓取百度天气写入txt,再读取。时间久了,txt很多。感觉不是很好。

百度了一下,找了点别人的方法改进了一下。

获取天气网址:http://www.weather.com.cn/html/weather/101210701.shtml这里是温州的,当然其他城市自己搜索一下,换一下ID。

由于是写入cookies记录当天天气,所有需要在站点下浏览。

js代码:

var Url=escape("http://m.weather.com.cn/data/101210701.html");
var COOKIE_info = "COOKIE_info";
var date = new Date();
var Hours=24-date.getHours()-1;
var Mins=60-date.getMinutes()-1;
var Secs=60-date.getSeconds();
date.setTime(date.getTime() + (1 * Hours * 60 * 60 * 1000) + (1 * 1 * Mins * 60 * 1000) + (1 * 1 * 1 * Secs * 1000));
var RD_cookie_info=	$.cookie(COOKIE_info);
$(function(){
	if(RD_cookie_info==null)
	{
		Getdata(Url);		
	}
	else{
		$("#weather").html(RD_cookie_info);
		}
})

function Getdata(Url)
{
	$.ajax({
	type:"GET",
	cache: "false",
	url: "AjaxGet.asp",
	data:"Url="+Url,
	dataType: "html", 
	error: function(){$("#weather").html("读取失败...请刷新重试!");},
	success: function(json){ 	 
		var t = '('+json+')'; 
		var result = eval(t); 
		var Getinfo="";
		Getinfo+=result.weatherinfo.date_y+" ";//年月日
		Getinfo+=result.weatherinfo.date+" ";//农历年月日
		Getinfo+=result.weatherinfo.week+" ";//星期几
		Getinfo+="<br />";//换行
		Getinfo+=result.weatherinfo.city;//获取城市名称
		Getinfo+=" <img src=\"http://m.weather.com.cn/img/c"+result.weatherinfo.img1+".gif\"/> "//天气图片1
		Getinfo+="<img src=\"http://m.weather.com.cn/img/c"+result.weatherinfo.img2+".gif\"/> ";//天气图片2
		Getinfo+=result.weatherinfo.weather1+" ";//天气情况
		Getinfo+=result.weatherinfo.temp1;//温度		
		$.cookie(COOKIE_info,Getinfo, { path: '/', expires: date });
		$("#weather").html(Getinfo);
		}
	}); 
}
html代码:
<div id="weather" style="font-size:12px;"></div>

这个是用网络上常见的asp抓取,当然也可以换成.net抓取或者其他。附上demo

posted @ 2010-07-02 13:57  边走边睡  阅读(2505)  评论(1编辑  收藏  举报