一、实现自动采集
实现自动采集我就是对着这篇文章做的:
http://bbs.phome.net/ShowThread/?threadid=213900&forumid=13
当然,你不止一个采集节点要采集的,可以把多个节点体现在一个语句中,以下是我正在使用的语句:
www.tz365.Cn
<?php
if(!defined('InEmpireCMS'))
{
exit();
}
echo '<iframe src="http://www.***.com/e/admin/DoCj.php?enews=DoCj&classid%5B%5D=11&classid%5B%5D=12&classid%5B%5D=13&classid%5B%5D=14&classid%5B%5D=15&classid%5B%5D
=16&classid%5B%5D=17&classid%5B%5D=18&classid%5B%5D=19&classid%5B%5D=20&Submit=
%E6%89%B9%E9%87%8F%E9%87%87%E9%9B%86%E8%8A%82%E7%82%B9" id="MFrm0" width="500" height="300" frameborder="0" style="border:2px solid #ff6600;"></iframe>'; www.tz365.Cn
?>
二、实现自动审核、更新
为了实现自动审核、更新,我几乎把帝国论坛里的贴子都翻了个底朝天,虽然上面那篇贴子里说也可以实现自动审核,但我不会,真不会。最后找到了这篇文章:
http://www.itkubo.com/20130371.html
这里不得不提一下,上面这篇文章的作者老北真是个热心的人,多次请教,都详细地给我解答,在这里,再一次表示感谢! www.Tz365.cn
用上面的这个方法自动更新的话,要注意几点:
1、触发上面代码时,要加上密码,例如我的触发方法是,借用第一点自动采集触发的思路,也利用计划任务来触发,在e/tasks/目前下建立一个文件,写上触发代码来触发这段审核代码,然后再利用计划任务来触发。
具体举上我的例子,在e/tasks/下建立一个zdgx.php文件,代码如下:
<?php
if(!defined('InEmpireCMS'))
{ 滕州生活网www.tz365.CN
exit();
} copyright tz365.cn
echo '<iframe src="http://www.***.com/e/tasks/autocheck.php?pwd=password" id="MFrm0" width="500" height="300" frameborder="0" style="border:2px solid #ff6600;"></iframe>';
?>
然后将zdgx.php列到计划任务中。
2、如果栏目比较多,上了二三百个的话,在老北那代码里,建议使用分时段审核,否则负载会有点高。(分时段代码老北的代码里有,只是注释了,另外,其实可以不止分三个时间段,我做的是每小时审核几个栏目,反正你可以按你栏目的多少来确定,例如我的大约二百四十个栏目,我就设置每小时审核更新十个栏目),我把我分段审核的代码给大家共享一下:
$hours = date ( 'H' );
switch($hours){ copyright tz365.cn
//频道和列表
case '1': $where = "bclassid = 0 or classid between 1 and 10"; copyright tz365.cn
break;
case '2': $where = "bclassid = 0 or classid between 11 and 20";
break;
case '3': $where = "bclassid = 0 or classid between 21 and 30";
break;
case '3': $where = "bclassid = 0 or classid between 31 and 40";
break;
case '4': $where = "bclassid = 0 or classid between 41 and 50";
break;
case '5': $where = "bclassid = 0 or classid between 51 and 60"; www.Tz365.cn
break;
case '6': $where = "bclassid = 0 or classid between 61 and 70";
break;
case '7': $where = "bclassid = 0 or classid between 71 and 80";
break;
case '8': $where = "bclassid = 0 or classid between 81 and 90";
break;
case '9': $where = "bclassid = 0 or classid between 91 and 100";
三、挂着计划任务来驱动采集、审核吧。 www.Tz365.cn
这个还有一点可以说一下,按道理,我们可以一直开着后台,打开“运行计划任务页面”即可(也就是运行/e/admin/task.php页面),但我觉得还是不太好。
我试了一下,一直开着后台,本身也就太好,不太安全撒,另外网页的COOKIE会失效吧,应该过段时间就要重新登陆吧。这里,我想了个其他办法,自动刷新这个“计划任务页面”,保持他的COOKIE有效。 www.tz365.Cn
好吧,我是在网站的根目录建了个HTML文件,平时在VPS打开这个文件即可,不用打开帝国后台了。
这个HTML文件代码也共享如下: www.Tz365.cn
<iframe src="http://www.***.com/e/admin/task.php" id="MFrm1" width="500" height="500" frameborder="0" style="border:2px solid #ff6600;"></iframe>
<script type="text/javascript">
function abc() {
document.getElementById("MFrm1").src='http://www.***.com/e/admin/task.php';
}
setInterval('abc()',900000);
</script>
里面的900000是指隔这么多毫秒就刷新一下这个页面。
好了,完了,你最后要做的就是一直打开最后这个HTML文件,你的网站就不停地采集、更新、采集、更新。