您的位置:首页 > 理论基础 > 计算机网络

XMLHTTP抓取新浪天气新闻

2008-11-27 16:11 225 查看
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>xmlhttp获取网页内容</title>
<style type="text/css">
<!--
.css_news {
font-family: "宋体";
font-size: 9pt;
text-align: left;
}
.css_tbhome
{
font-size: 9pt;
text-align: left;
}
-->
</style>
<script language="javascript">
//转换乱码
function gb2utf8(data)
{
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++i<j) {
k=t[i].substring(0,4);
if(!glbEncode[k])
{
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}

function getXML(URL)
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("GET",URL, false);
try
{
xmlhttp.send();
var result = xmlhttp.status;
}
catch(e)
{return(false);}
if(result==200)
{
return gb2utf8(xmlhttp.responseBody); //网页是gb2312

        //return xmlhttp.responseText; //网页是utf-8
}
delete(xmlhttp)
}
function setData()
{
var newstr = getXML('http://blog.cnfol.com/toujishaoye/article/9236937.html');
var newtr1 = newstr.match("<div class=\"wzjtym03\" style=\"overflow:hidden;\" id=\"__content\" >((.|\n)*?)</div>");
document.getElementById("news").innerHTML = newtr1;
//新闻
var newstr = getXML('http://news.sina.com.cn/');
var newpat1 = /<ul class="c_l14s_01">((.|\n)*?)<\/ul>/;
var newtr1 = newstr.match(newpat1);
document.getElementById("news").innerHTML = newtr1[1];

}
</script>

</HEAD>
<body onLoad="setData();">
<br>
<p><br>
</p>
<form id="frmHome" method="post">
<div align="center">
<div name="tbhome" id="tbhome" class="css_tbhome"></div>
<div name="news" id="news" class="css_news"></div>
</div>
</form>
</body>
</HTML>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: