当前位置: 首页 > 图文教程 > 网络编程 > 编程10000问 > 如何做一个只搜索本网站的引擎?

编程10000问
如何计算下载一个文件需要多长时间?
如何检测用户第一次访问我的网站并显示友好信息?
如何判断URL格式是否符合规范?
如何取得服务器上的用户组列表?
如何显示数据库的结构?
如何显示最后十名来访者?
如何显示随机信息?
如何向前端推送用户请求的信息?
如何修改被表单引用的ASP页面?
如何验证IP地址?
如何用ASP建立Index Server查询对象并为其参数赋值?
如何用ASP输出HTML文件?
如何用表单的方式推送请求的信息?
如何远程读取数据库页面?
如何在ASP里显示进度条?
如何自动更新导航栏?
如何阻止别人非法链接你网站的图片?
怎样获知数据库的连接属性?
如何按时间显示最新标志
禁止站外提交表单(author:killer)

编程10000问 中的 如何做一个只搜索本网站的引擎?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 28 ::
收藏到网摘: n/a

searchfiles.html
<html>

<head>

<title>撼雪喷云之本网搜索引擎</title>

</head>

<body>

<form method="POST" action="cgi-bin/searchfiles.asp">

<table border="0" cellpadding="5" bgcolor="#C2E7E3">

<tr>

<td align="center">请输入条目或关键词<input type="text" name="term" size="15"> <input type="submit" value="搜索"></td>

</tr>

</table>

</form>

</body></html>

searchfiles.asp
<%
SearchTerm = request.form("term")
Novalid=" a b c d e f g h i j k l m n o p q r s t u v w x y z yes no and more"
NovalidResponse ="
你输入的内容过于简单,请返回重试!"
if instr(SearchTerm,Novalid)=0 then
Response. Write ("<CENTER><H2>
搜索结果</H2></CENTER>")
FolderName= "FolderName"
ShowList()
else
Response.Write NovalidResponse
End if
SearchResponse=""
%>
<%
Sub ShowList()
FolderToCheck = server.mappath("\") &"/" & FolderName & "/"
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(FolderToCheck)
Set fc = f.Files
For Each f1 in fc
Wfile = f1.name
if right(Wfile, 5)=".html" OR right(Wfile, 4)=".htm" then
Wfile2 = FolderToCheck & Wfile
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(Wfile2)
ct = a.ReadAll
a.close
ct2=lcase(ct)
SearchTerm2 = lcase(SearchTerm)
if instr(ct2,SearchTerm2)>0 then
if instr(ct,"</title>")>0 then
longitud=instr(ct,"</title>")
longitud=longitud -1
ct=left(ct,longitud)
longitud2=len(ct)
longitud=instr(ct,"<title>")
longitud=longitud2 -longitud -6
ct=right(ct,longitud)
else
if instr(ct,"</title>")>0 then
longitud=instr(ct,"</title>")
longitud=longitud -1
ct=left(ct,longitud)
longitud2=len(ct)
longitud=instr(ct,"<title>")
longitud=longitud2 -longitud -6
ct=right(ct,longitud)
end if
end if
SearchResponse= SearchResponse +"<tr><td>"+ ct + "</td><td ALIGN=CENTER
VALIGN=MIDDLE>" + " <A HREF=" + "/" + FolderName + "/" + Wfile +"> More </A></td></tr>"
longitud=0
ct=""
end if
end if
Next
Response.Write ("<html><head><title>
搜索结果</title></head><body BGCOLOR=FFFFFF><CENTER>")
Response.Write ("<TABLE BORDER=0 WIDTH=550><tr><td BGCOLOR=C0C0C0><FONT SIZE=5><B>
搜索结果</B></FONT></td></tr></TABLE>")
Response.Write ("<TABLE BORDER=0 WIDTH=550>")
if SearchResponse<>"" then
Response.Write SearchResponse
else
Response.Write ("<tr><td>
对不起,没有找到你输入的条目或关键词!</td></tr>")
end if
Response.Write ("</TABLE>")
Response.Write ("<TABLE BORDER=0 WIDTH=550><tr><td BGCOLOR=C0C0C0 ALIGN=RIGHT><FONT SIZE=1>
现在调用专业搜索引擎<A HREF= http://www.yahoo.com.cn/ </A></FONT></td></tr></TABLE>")

' 任选一个你喜欢的引擎.

Response.Write ("</CENTER></body></html>")
End Sub
%>

[1]