本篇文章中,苏南大叔要说一个dedecms的采集模块,叫做众大云采集。之所以想写一篇文章来介绍众大云采集这款dede模块,并不是因为它代码写的多好,而且他的这种产品模式比较新鲜,采集的模式还是比较有特点的。当然,本文中,并没有提供这款众大云采集的破解版。以下载为目的的各位新人,请绕行了。

苏南大叔:dedecms 的一个简单易用的采集插件,众大云采集 - dede
dedecms 的一个简单易用的采集插件,众大云采集(图7-1)

本文测试环境为:dedeV5.7SP2众大云采集9.4

官方网址

众大云采集的官方域名,还是比较有趣的,叫做csdn123

苏南大叔:dedecms 的一个简单易用的采集插件,众大云采集 - yuncaiji
dedecms 的一个简单易用的采集插件,众大云采集(图7-2)

这款"众大云采集"代码,并不仅仅针对dedecms,也支持常见的其他php语言的cms。免费版会在正文中有个小广告,可以手工删除广告。当然这款插件,破解起来也是非常容易的。苏南大叔这里就不断人家财路了,大家有钱的帮个钱场吧。毕竟功能上写的还是相当不错的(代码却写的不是太好)。

截至到发稿,这个众大云采集插件的版本号是9.4。大多数情况下,需要上传的插件文件是:下载的压缩包里面的UTF8_install.xml文件。

使用方式

在模块=》众大云采集=》批量采集,这个菜单里面,输入关键词,输入数量,就可以获得一些随机相关文章了。使用方式很无脑,非常适合小白。

苏南大叔:dedecms 的一个简单易用的采集插件,众大云采集 - yuncaiji_use
dedecms 的一个简单易用的采集插件,众大云采集(图7-3)

导入数据库

众大云的数据库,可能在某些情况下,不能正常安装数据库。所以,可能需要手工执行sql。可以使用php的base64_decode()函数解开UTF8-install.xml中的加密sql文本。

苏南大叔:dedecms 的一个简单易用的采集插件,众大云采集 - dede_ycj_sql
dedecms 的一个简单易用的采集插件,众大云采集(图7-4)

执行sql的方式,就看您自己选择了。苏南大叔推荐您使用navicat

php72下兼容众大云采集

因为众大云采集php72下是不能正常运行的,所以,大家可以开启dede的调试模式,便于调试。
修改文件:/include/common.inc.php。调试的方式是这样的:修改常量DEDE_ENVIRONMENTdev即可。

define('DEDE_ENVIRONMENT', 'dev');

错误信息一:mysql_escape_string()

您可能会看到下面的错误提示:

Uncaught Error: Call to undefined function mysql_escape_string()
php7 已经不支持 php_mysql 扩展了,既然没有了 php_mysql 扩展,自然也就没有了 mysql_escape_string 函数。

解决方案,就是做个 mysql_escape_string 兼容。修改文件:/dede/hzw/common.fun.php。增加下面的兼容代码。

if(!function_exists('mysql_escape_string')){
    function mysql_escape_string($data){
        return addslashes(trim($data));
    }
}

苏南大叔:dedecms 的一个简单易用的采集插件,众大云采集 - yuncaiji_error_mysql_fix
dedecms 的一个简单易用的采集插件,众大云采集(图7-5)

错误信息二:deprecated constructor警告

**Deprecated**: Methods with the same name as their class will not be constructors in a future version of PHP; hzw_cuserLogin has a deprecated constructor in **/dede/hzw_send_archives.php** on line **8**

修改文件/dede/hzw_send_archives.php,修改构造函数的写法。(把同名函数变成__construct

//public function hzw_cuserLogin($userID)
function __construct($userID){
  $this->userID=$userID;
}

苏南大叔:dedecms 的一个简单易用的采集插件,众大云采集 - yuncaiji_error2_fix
dedecms 的一个简单易用的采集插件,众大云采集(图7-6)

入库为暂存状态

因为正常情况下来说,众大云采集的收费提示信息必须先发布后,才能修改掉提示信息。这个设定很不人性化。所以,苏南大叔把他设置为:采集完毕就为待发布状态,这样的话,收费信息也不会被发布出去了。原理上来说,就是把archives表中的arcrank字段设置为-1即可。

if(!empty($GLOBALS['cfg_version']) && stripos($GLOBALS['cfg_version'],'V56')===false)
{
   $query = "INSERT INTO `#@__archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,mid,voteid,notpost,description,keywords,filename,dutyadmin,weight) VALUES ('$arcID','$cid','0','$sortrank','','0','$channelid','-1','$click','0','$title','','','$writer','','$litpic','$pubdate','$senddate','$adminid','0','0','$description','$keywords','','$adminid','0');";
} else {
   $query = "INSERT INTO `#@__archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,mid,notpost,description,keywords,filename,dutyadmin,weight) VALUES ('$arcID','$cid','0','$sortrank','','0','$channelid','-1','$click','0','$title','','','$writer','','$litpic','$pubdate','$senddate','$adminid','0','$description','$keywords','','$adminid','0');";
}

苏南大叔:dedecms 的一个简单易用的采集插件,众大云采集 - yuncaiji_error3_fix
dedecms 的一个简单易用的采集插件,众大云采集(图7-7)

额外信息

newsn.net:这里是【作者】可见内容

总结

众大云采集的这种方式,是非常适合小白初级小编的。无需编写规则,是需要定义好关键词即可。

苏南大叔会偶尔写几篇dede的经验文字的,不过,苏南大叔对dede的代码真心是不能太赞赏,只能赞赏dede产品的成功。更多dede相关使用文字,请偶尔关注一下苏南大叔写的经验文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   php    dede

本站的忠实读者小伙伴,正在阅读下面这些文章: