今天有人问我PR的查询程序是怎么搞的,一般都是偷国外一个网站提供的PR查询页面的数据,改装成自己的,不过速度会比较慢。比较高级的方法是直接从toolbar.google.com那获取PR信息,比较复杂。
在网上搜索一下,发现有一篇文章,是截取so.5eo.com这个网站的PR查询数据,作者估计就是其站长,还不错,转贴如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Google PR值查询程序</title>
</head>
<body><h3>输入网址,查询Google PageRank值</h3>
<form name="form1" method="post" action="?act=ok">
<p>输入网址
<input type="text" name="domain">
<input type="submit" name="Submit" value="提交">
</p>
</form>
<%
if trim(Request.QueryString("act"))="ok" then
domain=trim(Request.Form("domain"))
if domain<>"" then
Response.Write("<b>"&domain&"</b> 的Google PageRank值为<font color=red>"&getPr(domain)&"</font>")
end if
end if
Function getPr(domain)
getContent=GetURL("http://so.5eo.com/pr/rank.asp?domain="&domain)
getPrLine=RegExpText(getContent,"在Google PageRank满分10分评价中获得.*(\d).*分")
getPr=RegExpText(getPrLine,"\s\d\s")
End Function
Function bstr(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bstr = strReturn
End Function
Function GetURL(url)
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "GET", url, false
.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
.Send
GetURL = .ResponseBody
End With
Set Retrieval = Nothing
GetURL=bstr(GetURL)
End Function
Function RegExpText(strng,regStr)
'Dim regEx, Match, Matches ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = regStr ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分字符大小写。
regEx.Global = True ' 设置全局可用性。
Set Matches = regEx.Execute(strng) ' 执行搜索。
For Each Match in Matches ' 遍历匹配集合。
RetStr = RetStr & Match.Value'&"|||"
Next
RegExpText = RetStr
set regEx=nothing
End Function
%>
</body>
</html>