关于as3.0获取天气的简单实现。主要是先获取目标网站的HTML,找到关键字段,用字符匹配实现关键内容检索。
package
{
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.;
import flash.net.;
public class Weather
{
public var urlstr:String = "http://weather.sina.com.cn/";//天气网站地址
public var wxml:String;
//var url:URLRequest = new URLRequest(urlstr);
public var weather:String = "天气";
public function Weather()
{
// constructor code
readweathe();
}
//从指定网站读取天气数据
private function readweathe():void
{
//var myloader:URLLoader=new URLLoader();
var myloader:URLLoader=new URLLoader();
var url:URLRequest = new URLRequest(urlstr);
myloader.dataFormat = URLLoaderDataFormat.TEXT;
try
{
myloader.load(url);
}
catch (error:Error)
{
//weather =error.toString();
trace("Unable to load requested document.");
}
myloader.addEventListener(Event.COMPLETE, cgetdata);
myloader.addEventListener(IOErrorEvent.IO_ERROR, ioError);
}
function cgetdata(e:Event)
{
var wstr:String = "weatherName : "; //html匹配字段
var tstr:String = "temp : ";
var st:String;
var cst:String;
var s:String;
var n:Number;
wxml = e.target.data;
n=wxml.search(wstr);
st=wxml.substr(n+wstr.length+1,10);
n=wxml.search(tstr);
cst=wxml.substr(n+tstr.length+1,10);
n=st.search("'");
st=st.substr(0,n);
n=cst.search("'");
s=cst.substr(0,n);
cst= s;
weather = "深圳:"+st+"--"+cst+"°C";
trace(wxml);
}
function ioError(e:Event)
{
//trace("ioerror");
}
}
}