自动采集发布系统(帝国CMS做垃圾站垃圾站做正规站,手动更新垃圾站)
优采云 发布时间: 2021-08-30 18:00自动采集发布系统(帝国CMS做垃圾站垃圾站做正规站,手动更新垃圾站)
首先是我第一次接触Empirecms,对于程序开发,我是外行,我只是一个用户(一个垃圾站),一直用DEDEcms+@前。采集侠,但是织梦处理百万级以上数据的时候,负载确实很大,所以想用empirecms当垃圾站试试。大家都知道,垃圾站不同于普通站。它是手动更新的。垃圾站越自动化越好。最好不要被人管理。这是我研究的方向,好吧,废话少说。
一、实现自动采集
实现自动采集我针对这个文章做到了:
当然,如果你有多个采集node,想要采集,你可以在一个句子中嵌入多个节点,以下是我使用的句子:
二、实现自动审核和更新
为了实现自动审核和更新,我几乎把帝国论坛里的帖子都翻了个正着。虽然上面的帖子说也可以实现自动审核,但我不会,真的不会。终于找到这个文章:
这里不得不提一下。上面文章的作者老北真是个热心人。他问了我很多次,并详细地回答了我。在此,再次表示感谢!
如果使用上述方法自动更新,需要注意几点:
1、触发上述代码时,需要添加密码。比如我的触发方式就是借用第一点自动采集触发的思路,也用定时任务触发,在e/tasks/current下创建一个文件,写触发代码触发这个审核代码,然后用要触发的计划任务。
以我的例子为例,在e/tasks/下创建一个zdgx.php文件,代码如下:
然后在计划任务中列出zdgx.php。
2、如果栏目较多,上传200或300,建议使用老贝娜代码中的分时审核,否则负载会有点高。 (时分代码在老北的代码里,不过只是注释而已。另外,可以分为三个以上的时间段。我做的就是每小时复习几栏。反正你可以根据到您的列数。例如,我大约有 240 列,我将设置为每小时查看和更新十列),我将分节分享我查看的代码:
$hours = 日期 ('H');
开关($小时){
//频道和列表
case '1': $where = "bclassid = 0 or classid between 1 and 10";
中断;
case '2': $where = "bclassid = 0 or classid between 11 and 20";
中断;
case '3': $where = "bclassid = 0 or classid between 21 and 30";
中断;
case '3': $where = "bclassid = 0 or classid between 31 and 40";
中断;
case '4': $where = "bclassid = 0 or classid between 41 and 50";
中断;
case '5': $where = "bclassid = 0 or classid between 51 and 60";
中断;
case '6': $where = "bclassid = 0 or classid between 61 and 70";
中断;
case '7': $where = "bclassid = 0 or classid between 71 and 80";
中断;
case '8': $where = "bclassid = 0 or classid between 81 and 90";
中断;
case '9': $where = "bclassid = 0 or classid between 91 and 100";
三、hang 定时任务驱动采集并查看。
关于这个还有一件事要说。按道理,我们可以保持后台打开,打开“运行定时任务页面”(也就是运行/e/admin/task.php页面),但是我觉得还是不行。
我试过了。我保持背景。它太好了,传播起来也不安全。此外,网页上的 cookie 将是无效的。您应该在一段时间后重新登录。在这里,我想到了另一种方法,自动刷新这个“计划任务页面”,以保持他的cookie有效。
好吧,我在网站的根目录下创建了一个HTML文件,我通常在VPS中打开这个文件,而不打开帝国后端。
这个HTML文件的代码也分享如下:
900000 英寸
指每隔几毫秒刷新一次此页面。
好了,结束了,最后你要做的就是继续打开最后一个HTML文件,你的网站不止地采集,更新,采集,更新。
以上方法是我正在做的垃圾站:正在使用的方法,里面的代码也在使用,哦记得把***.com改成自己的域名。 . . . . . . .