php 抓取网页生成图片(用到定时生成html页面的功能,怎么解决?(一))
优采云 发布时间: 2021-11-12 01:02php 抓取网页生成图片(用到定时生成html页面的功能,怎么解决?(一))
很多时候,我们需要定期使用生成html页面的功能。原理介绍:将index.html等文件的最后修改时间与当前时间进行比较。当时间差超过一定时间间隔,比如2小时,调用相关页面生成新页面。页。原源码如下
PHP版本页面的定时生成:
ASP版本的定时页面生成:
10 then '时间间隔大于一定值 response.write "" end if %>
使用方法:在网站的高流量页面,一般使用iframe调用首页上面的代码,比如插入
2011-7-9 @PS更新:正如下面留言的朋友所说,这种方法确实会增加服务器的负担。为了避免这种方法的缺点,有两种方法可以解决,
一、 减少频繁访问被调用页面的频率,比如在低流量的页面上调用create.asp;
二、 直接使用linux cron定时服务,或者windows定时任务或者一些定时执行命令的小软件,比如:。
参考文章如下:
1、Linux使用crontab命令定时重启服务器
2、Cron 定时执行带参数的 PHP 代码
3、Cpanel 下的 Cron Jobs 定时执行 PHP
这样可以避免频繁调用生成判断页面,只在需要执行的时候访问生成页面一次。
网站使用cdn需要注意的问题
鉴于现在很多网站都在使用cdn,如果主页是连续自动生成的,可能会被cdn抓取,主页为空时主页也为空,那么如何解决这个问题呢?
html中文网站的方案: 比如可以生成index_def.htm,然后程序可以判断内容是否更新,内容是否不为空(内容一般大于30k),然后进行copy将 index_def.htm 复制到 index.htm 的操作。能。
可以在windows server下使用vbscript,因为它更强大,linux可以使用shell。
脚本
Dim fso Set fso = CreateObject("Scripting.FileSystemObject") f1="F:\webroot\jb51net\index_def.htm" f2="F:\webroot\jb51net\index.htm" fsize=50000 '50k set fn2=fso.GetFile(f1) flsize2=fn2.size fldate2=fn2.datelastmodified set fn=fso.GetFile(f2) flsize1=fn.size fldate1=fn.datelastmodified If fso.FileExists(f1) and flsize2>fsize and fldate2>fldate1 Then fso.getfile(f1).copy(f2) if err.number=0 then WriteHistory "成功"&now()&".........","log.txt" end if Sub WriteHistory(hisChars, path) Const ForReading = 1, ForAppending = 8 Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(path, ForAppending, True) f.WriteLine hisChars f.Close End Sub
html中文网站原创文章,对大家免费。
以上就是asp和php中常规页面生成的思路和代码的详细内容。更多详情请关注其他相关html中文网站文章!