- <%
- '为了支持原创,请保留该处注释,谢谢!
- '作者:草上飞
- '获取主域名
- Function getDomainUrl(url)
- tempurl=replace(url,"http://","")
- if instr(tempurl,"/")>0 then
- tempurl=left(tempurl,instr(tempurl,"/")-1)
- end If
- getDomainurl=tempurl
- End Function
- Function GetHttpPage(HttpUrl)
- If IsNull(HttpUrl)=True Or Len(HttpUrl)<18 Or HttpUrl="$False$" Then
- GetHttpPage="$False$"
- Exit Function
- End If
- Dim Http
- Set Http=server.createobject("MSXML2.XMLHTTP")
- Http.open "GET",HttpUrl,False
- Http.Send()
- If Http.Readystate<>4 then
- Set Http=Nothing
- GetHttpPage="$False$"
- Exit function
- End if
- GetHTTPPage=Http.responseText
- Set Http=Nothing
- If Err.number<>0 then
- Err.Clear
- End If
- End Function
- '==================================================
- '函数名:ScriptHtml
- '作 用:过滤html标记
- '参 数:ConStr ------ 要过滤的字符串
- ' TagName ------要过滤的标签
- ' FType 1表示过滤左边标签 2表示过滤左右标签及中间的值 3表示过滤左边标签和右边标签,保留内容。
- '==================================================
- Function ScriptHtml(Byval ConStr,TagName,FType,includestr)
- Dim Re
- Set Re=new RegExp
- Re.IgnoreCase =true
- Re.Global=True
- Select Case FType
- Case 1
- Re.Pattern="<" & TagName & "([^>])*("&includestr&"){1,}([^>])*>"
- ConStr=Re.Replace(ConStr,"")
- Case 2
- Re.Pattern="<" & TagName & "([^>])*("&includestr&"){1,}([^>])*>.*?</" & TagName & "([^>])*>"
- 'response.write constr&"<br>"
- ConStr=Re.Replace(ConStr,"")
- 'response.write server.htmlencode(constr)&"<br>"
- Case 3
- Re.Pattern="<" & TagName & "([^>])*("&includestr&"){1,}([^>])*>"
- ConStr=Re.Replace(ConStr,"")
- Re.Pattern="</" & TagName & "([^>])*>"
- ConStr=Re.Replace(ConStr,"")
- End Select
- ScriptHtml=ConStr
- Set Re=Nothing
- End Function
- '==================================================
- '函数名:GetBody
- '作 用:截取字符串
- '参 数:ConStr ------将要截取的字符串
- '参 数:StartStr ------开始字符串
- '参 数:OverStr ------结束字符串
- '参 数:IncluL ------是否包含StartStr
- '参 数:IncluR ------是否包含OverStr
- '==================================================
- Function GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
- If ConStr="$False$" or ConStr="" or IsNull(ConStr)=True Or StartStr="" or IsNull(StartStr)=True Or OverStr="" or IsNull(OverStr)=True Then
- GetBody="$False$"
- Exit Function
- End If
- Dim ConStrTemp
- Dim Start,Over
- ConStrTemp=Lcase(ConStr)
- StartStr=Lcase(StartStr)
- OverStr=Lcase(OverStr)
- Start = InStrB(1, ConStrTemp, StartStr, vbBinaryCompare)
- 'response.write Start&"<br>"&IncluL&"<br>"
- 'response.end
- If Start<=0 then
- GetBody="$False$"
- Exit Function
- Else
- If IncluL=False Then
- Start=Start+LenB(StartStr)
- End If
- End If
- Over=InStrB(Start,ConStrTemp,OverStr,vbBinaryCompare)
- 'response.write Over
- 'response.end
- 'response.write Start&" "&Over&" "&Over-Start
- 'response.end
- If Over<=0 Or Over<=Start then
- GetBody="$False$"
- Exit Function
- Else
- If IncluR=True Then
- Over=Over+LenB(OverStr)
- End If
- End If
- GetBody=MidB(ConStr,Start,Over-Start)
- 'response.write getBody
- 'response.end
- End Function
- '==================================================
- '函数名:GetArray
- '作 用:提取链接地址,以$Array$分隔
- '参 数:ConStr ------提取地址的原字符
- '参 数:StartStr ------开始字符串
- '参 数:OverStr ------结束字符串
- '参 数:IncluL ------是否包含StartStr
- '参 数:IncluR ------是否包含OverStr
- '==================================================
- Function GetArray(Byval ConStr,StartStr,OverStr,IncluL,IncluR)
- If ConStr="$False$" or ConStr="" Or IsNull(ConStr)=True or StartStr="" Or OverStr="" or IsNull(StartStr)=True Or IsNull(OverStr)=True Then
- GetArray="$False$"
- Exit Function
- End If
- Dim TempStr,TempStr2,objRegExp,Matches,Match
- TempStr=""
- Set objRegExp = New Regexp
- objRegExp.IgnoreCase = True
- objRegExp.Global = True
- objRegExp.Pattern = "("&StartStr&").+?("&OverStr&")"
- Set Matches =objRegExp.Execute(ConStr)
- For Each Match in Matches
- TempStr=TempStr & "$Array$" & Match.Value
- Next
- Set Matches=nothing
- If TempStr="" Then
- GetArray="$False$"
- Exit Function
- End If
- TempStr=Right(TempStr,Len(TempStr)-7)
- If IncluL=False then
- objRegExp.Pattern =StartStr
- TempStr=objRegExp.Replace(TempStr,"")
- End if
- If IncluR=False then
- objRegExp.Pattern =OverStr
- TempStr=objRegExp.Replace(TempStr,"")
- End if
- Set objRegExp=nothing
- Set Matches=nothing
- If TempStr="" then
- GetArray="$False$"
- Else
- GetArray=TempStr
- End if
- End Function
- Function getAlexaRank(weburl)
- tempurl=getDomainUrl(weburl)
- '读取http://client.alexa.com/common/css/scramble.css中的数据
- alexacss="http://client.alexa.com/common/css/scramble.css"
- strAlexaCss=GetHttpPage(alexacss)
- 'response.write strAlexaCss
- 'response.end
- alexarankqueryurl="http://www.alexa.com/data/details/traffic_details/"&tempurl
- strAlexaContent=GetHttpPage(alexarankqueryurl)
- rankcontent=getBody(strAlexaContent,"Information Service.-->","<!-- google_ad_section_end(name=default) -->",false,false)
- '获取其中的span的class
- strspan=GetArray(rankcontent,"<span class=""","""",false,false)
- 'response.write rankcontent&"<br>"
- 'response.write strspan&"<br>"
- 'response.end
- If strspan<>"$False$" Then
- aspan=split(strspan,"$Array$")
- For i=0 To UBound(aspan)
- 'response.write "."&aspan(i)
- '判定aspan(i)即span的class是否在alexacss中存在,如果存在,则需要将这个span和span中的数据去掉。
- If InStr(strAlexaCss,"."&aspan(i))>=1 Then
- 'response.write aspan(i)&"<br>"
- 'response.end
- '表示属性为none.需要替换掉。
- rankcontent=ScriptHtml(rankcontent,"span",2,aspan(i))
- Else
- rankcontent=ScriptHtml(rankcontent,"span",1,aspan(i))
- End if
- Next
- '替换上面少去掉的右边的span标签。
- rankcontent=Replace(rankcontent,"</span>","")
- End If
- If rankcontent="$False$" Then
- rankcontent="No Data"
- End if
- getAlexaRank=Replace(rankcontent,",","")
- End Function
- url=request.querystring("url")
- %>
- <form name="alexaform" method=get>
- 输入网址:<input type="" name="url" value="<%=url%>" size=40> <input type="submit" value="查 询">
- </form>
- <%
- If url<>"" Then
- response.write "您的网站在ALEXA的排名为:"
- response.flush
- rank=getAlexaRank(url)
- response.write rank
- End if
- %>
asp alexa查询小偷程序
2019-09-24 10:20asp开发网 ASP教程
比较简单的alexa小偷程序,喜欢这个功能的朋友,可以学习他的原理,相信不久,你也可以写出这个程序
延伸 · 阅读
- 2021-03-30提高Alexa排名的20种方法小结
- 2021-03-17PHP实现小偷程序实例
- 2021-03-11PHP小偷程序的设计与实现方法详解
- 2021-03-05js实现的类似于asp数据字典的数据类型代码实例
- 2021-01-10asp字符串连接符&、多个字符串相加、字符串拼
- 2020-12-18asp和php哪个是主流?用ASP和PHP做网站哪个好?
精彩推荐
- ASP教程
asp知识整理笔记4(问答模式)
继前几篇篇《asp知识整理笔记1》和《asp知识整理笔记2》,《asp知识整理笔记3》新鲜出炉: 23、问题:在ASP文件中读取HTML的表单字段有几种方法? 答:R...
- ASP教程
Discuz!NT 论坛整合ASP程序论坛教程
Discuz!NT 论坛整合ASP程序论坛 实现代码。...
- ASP教程
asp生成静态HTML(动态读取)
这样的代码多用于我们没有实现设计生成静态的功能,但又想临时将一些动态页面生成静态的,直接获取动态内容并保存为静态的...
- ASP教程
FSO遍历目录实现全站插马的代码
FSO遍历目录实现全站插马的代码...
- ASP教程
动网论坛验证码改进 加法验证码(ASPJpeg版)
很多站长都为论坛里太多的垃圾广告抓狂,本程序就是为了对付论坛垃圾广告群发器的。 将验证码改为加法运算,比如验证码显示“25+64等于?”,那么输...
- ASP教程
javascript asp教程第五课--合二为一
两条防线,一个函数: 试问你如何能保证客户端和服务器端具有相同的功能?表单域的验证闪现在我们眼前。别人把你的html复制到另外一个脚本,然后改...
- ASP教程
asp代码实现检测组件是否安装的函数
asp代码实现检测组件是否安装的函数...
- ASP教程
asp 判断上传文件中是否存在危险代码
asp 判断上传文件中是否存在危险代码...