javascript之ajax网站采集实例
本帖最后由 zhouchanglin 于 2010-11-26 18:10 编辑这个站http://www.landscape.cn/news/xwzx.html
主要源码: <script src="/ks_inc/page.js"></script>
<script language="javascript" defer>
Page(1,'{SQL_新闻中心分页()}','20089156087841','/','plus/ajaxsql.asp','','');
</script>http://www.landscape.cn、ks_inc/page.js里德源码的主要部分function Page(curPage,labelid,classid,installdir,url,refreshtype,specialid)
{
this.labelid=labelid;
this.classid=classid;
this.url=url;
if (labelid.substring(0,5)=="{SQL_")
{
var slabelid=labelid.split('(');
slabelid=slabelid.replace("{","");
this.c_obj="c_"+slabelid;
this.p_obj="p_"+slabelid;
}
else
{
this.c_obj="c_"+labelid;
this.p_obj="p_"+labelid;
}
this.installdir=installdir;
this.refreshtype=refreshtype;
this.specialid=specialid;
this.page=curPage;
loadData(1);
}加载数据,发送ajax请求function loadData(p)
{this.page=p;
var xhr=new PageAjax();
xhr.open("get",installdir+url+"?labelid="+escape(labelid)+"&classid="+classid+"&refreshtype="+refreshtype+"&specialid=" +specialid+"&curpage="+p+getUrlParam(),true);
xhr.onreadystatechange=function (){
if(xhr.readyState==1)
{
if (p==1)
eval('document.all.'+c_obj).innerHTML="<div align='center'><img src='"+installdir+"images/loading.gif'>正在连接服务器...</div>";
}
else if(xhr.readyState==2 || xhr.readyState==3)
{
if (p==1)
eval('document.all.'+c_obj).innerHTML="<div align='center'><img src='"+installdir+"images/loading.gif'>正在读取数据...</div>";
}
else if(xhr.readyState==4)
{
if (xhr.status==200)
{
var pagearr=xhr.responseText.split("{ks:page}")
var pageparamarr=pagearr.split("|");
count=pageparamarr;
perpagenum=pageparamarr;
pagecount=pageparamarr;
itemunit=pageparamarr;
itemname=pageparamarr;
pagestyle=pageparamarr;
getObject(c_obj).innerHTML=pagearr;
pagelist();
}
}
}
xhr.send(null);
}设置页码:function pagelist()
{
var n=1;
var statushtml=null;
switch(parseInt(this.pagestyle))
{
case 1:
太长了略去。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
statushtml+=" 第<select name=\"goto\" onchange=\"turn(parseInt(this.value));\">";
for(var i=1;i<=this.pagecount;i++){
if (i==this.page)
statushtml+="<option value='"+i+"' selected>"+i+"</option>";
else
statushtml+="<option value='"+i+"'>"+i+"</option>";
}
statushtml+="</select>页";
getObject(this.p_obj).innerHTML=statushtml;
}加载某页的数据的函数,请求都是它触发的
function turn(i)
{
loadData(i);
}xhr.open("get",installdir+url+"?labelid="+escape(labelid)+"&classid="+classid+"&refreshtype="+refreshtype+"&specialid=" +specialid+"&curpage="+p+getUrlParam(),true);这段是最重要的,可以找到ajax请求的地址
通过Page(1,'{SQL_新闻中心分页()}','20089156087841','/','plus/ajaxsql.asp','','');和function Page(curPage,labelid,classid,installdir,url,refreshtype,specialid)可以了解到传递的参数的意识:curpage=1---页数;labelid={SQL_新闻中心分页()};classid=20089156087841;installdir-------'/';url=plus/ajaxsql.asp;可以得到请求的地址是http://www.landscape.cn/plus/ajaxsql.asp?labelid={SQL_新闻中心分页()}&classid=20089156087841&refreshtype=&specialid=&curpage=1;
只要这样加列表就行了http://www.landscape.cn/plus/ajaxsql.asp?labelid={SQL_新闻中心分页()}&classid=20089156087841&refreshtype=&specialid=&curpage=页数,这个网站总页数是50,{ks:page}500|10|50|篇||2打开后这部分都有处理,分别代表总量,每页个数,总页数
规则还有问题,猜不到网址,浏览器都可以看到地址,火车里源码查看页可以,在内容测试时【内容】:对不起,标签不存在!{ks:page}|||||,怎么回事 确实满复杂的,学习中…… http://www.landscape.cn/plus/ajaxsql.asp?labelid=%7BSQL_%u65B0%u95FB%u4E2D%u5FC3%u5206%u9875%28%29%7D&classid=20089156087841&refreshtype=&specialid=&curpage=分页&=undefined
我发现这个也可以。哈 好好学习一下好好学习一下好好学习一下好好学习一下 {:4_180:}看是看不懂了只能膜拜了 =.=好复杂啊{:soso_e136:} 直接截包估计简单点 贵州白癜风医院
贵阳白癜风医院
贵阳白癜风专科医院
贵阳治疗白癜风医院
贵阳最好的白癜风医院
贵阳林城医院
贵阳林城医院 白癜风能治愈吗
六盘水哪家白癜风医院最好
六盘水最好白癜风医院
六盘水白癜风医院
六盘水技术最好的白癜风医院
凯里白癜风医院
遵义最好白癜风医院
遵义白癜风医院
遵义技术最好的白癜风医院
遵义哪家白癜风医院最好
毕节最好白癜风医院
毕节哪家白癜风医院最好
毕节白癜风医院
毕节技术最好的白癜风医院
毕节哪家医院治白癜风最好 怎么也看不懂,最近就遇到这样的问题
页:
[1]