每天都会在晚上12点以后第一位访客访问的时候开始采集,并生成首页。
采集页面和生成页面的代码就不写了,大家应该知道。
<%
Server.ScriptTimeOut = 9999
set urs=Server.CreateObject("ADODB.RecordSet")
Sql="select * from config"
urs.open sql,conn,3,3
if not urs.EOF then
upstart=urs("upstart") ‘采集开始时间
upend=urs("upend") ‘采集结束时间
makestart=urs("makestart") ‘生成首页开始时间
makeend=urs("makeend") ‘生成首页结束时间
upday=urs("update") ‘完成所有更新生更新为今日时间
else
urs.addnew
end if
ndate=date
make=0
if upday<>ndate then ‘对比数据库中的上次更新时间,不同时即开始更新
if upend<>ndate then ‘对比上次采集时间,如果是今天,说明采集已经完成
if (now-upstart)*60*60>10 then ‘对比上次开始采集时间,如果少于10分钟,可能上回的采集程序还在运行,只是太慢,避免每个访客访问都采集。
urs("upstart")=now
urs.update
getbaidu() ‘抓取百度关键词的函数
urs("upend")=date ‘采集完成,更新数据库中时间
urs("makestart")=now ‘开始生成
urs.update
createhome() ‘生成首页
urs("makeend")=date
urs("update")=date
urs.update
end if
make=1
end if
if makeend<>ndate and make=0 then ‘对比数据库中的生成时间及是否已经进行了刚才的步骤。
if (now-makestart)*60*60>10 then ‘对比上次开始生成时间,10分钟没生成才开始生成首页
urs("makestart")=now
urs.update
createhome() ‘生成首页
urs("makeend")=date
urs("update")=date ‘生成成功
urs.update
end if
end if
end if
urs.close
set urs=nothing
%>
—————————-
页面每分钟刷新一次,每小时生成一次首页,每天早上0点生成全站………
<meta http-equiv="refresh" content="60;url=’?o=<%=now()%>’">
<%if Minute(now())=0 then%>
<script>window.open(‘http://127.0.0.1/make_index.asp?o=<%=now()%>’,’index’);</script>
<%end if%>
<%if Minute(now())=0 then
if Request.Cookies(scall)="" then
Response.Cookies(scall)="gjj"
Response.Cookies(scall).Expires=Hour+8
%>
<script>window.open(‘http://127.0.0.1/make_allpage.asp?o=<%=now()%>’,’all’);</script>
<% end if
end if
%>
评论前必须登录!
注册