//制作蚁伐 yifa2008@hotmail.com 可以任意修改使用
//最后更新 2005-11-9
//2005-11-9 将yisou调整为yahoo中国搜索(yahoo中国策略改变,yisou谢幕)
//2005-9-24 修正包括baidu推广的排名位置
fscommand("allowscale",false);
var keyw_s:String;//原始关键字
var keyw:Array=["","",""];//搜索引擎 三个项依次代表baidu google yahoo
var url:String;//网址
var searchStop:Array=[true,true,true];//搜索终止标志
var searchE:Array=[true,true,true];//搜索引擎 三个项依次代表baidu google yahoo
var inPage:Number;//搜索范围
var nowPage:Array=[1,1,1];//当前搜索的页面 三个项依次代表baidu google yahoo
var ingSearch:Array=[false,false,false];//当前搜索的页面 三个项依次代表baidu google yahoo
var searchListener:Object = new Object();//开始搜索按钮
searchListener.click=keysStart;
keysStart_b.addEventListener("click",searchListener);
var stopListener:Object = new Object();//停止按钮
stopListener.click=function(){
searchStop=[false,false,false];
keysStart_b.addEventListener("click",searchListener);
keysStart_b.enabled=true;
}
keysStop_b.addEventListener("click",stopListener);
//--------------------------------选择搜索引擎-------------------------//
var checkList:Object = new Object();
checkList.click=function(se){//选择搜索引擎
var nowSE=Number(rps(se.target._name,"se",""));
searchE[nowSE-1]=se.target.selected;
}
se1.addEventListener("click",checkList);
se2.addEventListener("click",checkList);
se3.addEventListener("click",checkList);
//--------------------------------选择搜索引擎-------------------------//
function backAll(){//归档所有数据
keyw=["","",""];
searchStop=[true,true,true];
nowPage=[1,1,1];
baidulink_b._visible=false;
googlelink_b._visible=false;
yahoolink_b._visible=false;
baidu_i.text="";
google_i.text="";
yahoo_i.text="";
}
backAll();
function keysStart(){//开始搜索
if(keyw_i.text=="" or keyw_i.text=="需要关键字"){
keyw_i.text="需要关键字";
return false;
}
if(url_i.text=="" or url_i.text=="需要网址"){
url_i.text="需要网址";
return false;
}
if(searchE.join(",")=="false,false,false"){
return false;
}
keysStart_b.removeEventListener("click",searchListener);
keysStart_b.enabled=false;
keysStart_b.label="正在查询";
backAll();
keyw_s=keyw_i.text;//保存原始关键字
inPage=inPage_i.value;
url=url_i.text;
url=url.toLowerCase();
System.useCodepage = true;
if(searchE[0]){//baidu
keyw[0]=escape(keyw_s);
keysBaidu();
ingSearch[0]=true;
}
if(searchE[2]){//yahoo
System.useCodepage = false;
keyw[2]=escape(keyw_s);
System.useCodepage = true;
keysYahoo();
ingSearch[2]=true;
}
if(searchE[1]){//google
keyw[1]=escape(keyw_s);
keysGoogle();
ingSearch[1]=true;
}
}
function keysYahoo(){//查找在yahoo的关键字排名
if(!searchStop[2] || Number(nowPage[2])>inPage){//如果是终止或者超过搜索范围就停止
Report("yahoo",nowPage[2],2,2);
return false;
}
Report("yahoo",nowPage[2],1);
var mydata=new LoadVars();
var searchurl:String="http://cn.search.yahoo.com/search?p="+keyw[2]+"&ei=UTF-8&b="+((nowPage[2]-1)*10+1);
mydata.load(searchurl);
mydata.onData=function(src){
var tmpa=src.split(url);
if(tmpa.length>1){
var mys=tmpa[0];
var mys=rps(mys,">[推广]</a>","网页快照");
var od=((nowPage[2]-1)*10)+(mys.split("网页快照")).length;
System.useCodepage = false;
var spKeyw:String=escape(keyw_s);//生成连接中关键字的urlencode编码
System.useCodepage = true;
resRep("yahoo",rps(searchurl,keyw[2],spKeyw),od,2);
}else{
nowPage[2]++;
keysYahoo();
}
}
}
function keysBaidu(){//查找在baiduu的关键字排名
if(!searchStop[0] || Number(nowPage[0])>inPage){//如果是终止或者超过搜索范围就停止
Report("baidu",nowPage[0],2,0);
return false;
}
Report("baidu",nowPage[0],1);
var mydata=new LoadVars();
var searchurl:String="http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&cl=3&wd="+keyw[0]+"&pn="+((nowPage[0]-1)*10);
mydata.load(searchurl);
mydata.onData=function(src){
var tmpa=src.split(url);
if(tmpa.length>1){
var mys=tmpa[0];
var mys=rps(mys,">推广</a>","百度快照");
var od=((nowPage[0]-1)*10)+(mys.split("百度快照")).length;
resRep("baidu",searchurl,od,0);
}else{
nowPage[0]++;
keysBaidu();
}
}
}
function keysGoogle(){//查找在google的关键字排名
if(!searchStop[1] || Number(nowPage[1])>inPage){//如果是终止或者超过搜索范围就停止
Report("google",nowPage[1],2,1);
return false;
}
Report("google",nowPage[1],1);
var mydata=new LoadVars();
var searchurl:String="http://www.google.com/search?q="+keyw[1]+"&hl=zh-CN&lr=&oe=GB2312&inlang=zh-CN&start="+((nowPage[1]-1)*10);
mydata.load(searchurl);
mydata.onData=function(src){
var tmpa=src.split(url);
if(tmpa.length>1){
var mys=tmpa[0];
var od=((nowPage[1]-1)*10)+(mys.split("类似网页")).length;
System.useCodepage = false;
var spKeyw:String=escape(keyw_s);//生成连接中关键字的urlencode编码
System.useCodepage = true;
resRep("google",rps(searchurl,keyw[1],spKeyw),od,1);
}else{
nowPage[1]++;
keysGoogle();
}
}
}
function Report(SE,np,op,SEid){//op状态 1 正常 2 停止
switch(op){
case 1:
eval(SE+"_i").text="正在查询第"+np+"页";
break;
case 2:
eval(SE+"_i").text="已停止 在前"+(np-1)+"页中未发现";
ingSearch[SEid]=false;
if(ingSearch.join(",")=="false,false,false"){
backKeysStart();
}
break;
default:
eval(SE+"_i").text="异常错误 请重新尝试";
}
}
function resRep(SE,surl,od,SEid){//最终结果报告
eval(SE+"_i").text=url+" 在关键字 "+keyw_s+" 的搜索结果中排名 "+od;
eval(SE+"link_b")._visible=true;
eval(SE+"link_b").onRelease=function(){
getURL(surl,"_blank");
}
ingSearch[SEid]=false;
if(ingSearch.join(",")=="false,false,false"){
&n