DEDE全自动采集插件

DedeCms织梦内容管理系统自动采集、伪原创、发布、更新一体化插件

哇哈哈哈,首先要大笑三声。
因为这次的发布更新了一个功能(按照某客户的话说这是一个很强大的功能),那就是可以在文章正文中随机插入SEO关键字
关键字可以带链接,或者加粗,或者加<h1>,总之你想怎么写都由你自己,而且可以定义多组关键字。
插件会在入库的时候,每隔一段汉字,就从多组关键字中随机选择一个插入文章正文中。
因为更新了这个功能,插件又更新了一个小版本号,现在是V2.3。

更新日志:

时间:2010-08-03

内容:
1.修正了一个,可能会造成无法正确判断网页编码的正则表达式错误。
2.增加了在采集网页时,对目标服务器返回301或者302网页重定向的支持。
3.大幅增强了插件捕捉错误的能力,现在插件在运行以后,即使是DEDE系统函数出错退出,也会被插件捕捉到并记录在日志中。
4.增强了插件再次触发自己开始采集的能力,即使插件程序出错退出,也会尝试在退出前再次触发自己。
5.根据客户要求增加了在文章正文中插入SEO关键字的功能。现在可以在配置文件里面设置,是否在入库时增加SEO关键字。

具体使用方法是:
1先开启文章入库时插入SEO关键字的选项,/plus/autocollect.php 文件,在采集节点和栏目ID的对应关系中设置,如以下橙黄色字体,重点是加粗那一部分:
$coNodes[76]=array(24,2,1,9);
/*
$coNodes[76],采集节点ID是76
//array(24[栏目ID]
,2[采集该媒体到本地,1不采集使用原始媒体链接,0不采集去掉媒体]
,1[检查百度收录,0不检查]
,0[不使用伪原创,1正文关键字替换伪原创,2打乱句子排列顺序(会强制去掉图片等),4标题关键字替换伪原创,8在正文中加入SEO关键字
可以组合使用,比如同时想要正文关键字替换和在正文中加入SEO关键字,那么这里就是1+8=9])
*/

2.然后在该文件里面增加如下几行,内容如下:
//以下是SEO关键字配置,必须要在上面正文采集选项中,正文伪原创开启8才能使用
$seoKeys=array();
$seoKeys[]='<a href=”
http://www.dedeplus.com/”>dede自动采集</a>’; //只要符合HTML规范,怎么写都可以,一定要把引号写对
$seoKeys[]='<a href=”
http://www.dedeplus.com/“>织梦CMS全自动采集插件</a>’; //写多少行都行,每隔一段中文会随机插入一个关键字
$seoKeys[]='<a href=”
http://www.dedeplus.com/”>Dedecms自动采集插件</a>’;
//SEO关键字配置结束

以上增加的内容,可以直接加在
/*
========================================
以上是配置区域
========================================
*/

前面。

有客户反映说本插件升级太快,以至于从开始版本要覆盖N次才能更新到最新版。
我想出了一个解决方法,就是以后升级会将插件包内/plus/autocollect/文件夹内的程序文件全部打包,其他如词库等文件是基本不变的,不需要打包。
这样从开始版本到最新版,只需要覆盖一次,这样以后升级和使用都更加方便。

涉及的文件:
/plus/autocollect/cls_FoxCollection.php
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxHttpDown.php
/plus/autocollect/fun_image.php
/plus/autocollect/cls_FoxSplitWord.php
/plus/autocollect/cls_FoxSql.php
/plus/autocollect/fun_gen.php

升级操作:
插件版本为DedePlus_AutoCollect_V2.2_20100729.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.3_20100803update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..

更新日志:

时间:2010-07-29

内容:
1.修正了一个可能造成无法正常生成预览图图片的错误。
2.修正了一个在某些服务器上,可能会无法正常生成首页的错误。
3.修正了一个,没有判断文章是否已经被删除,结果尝试生成已经删除的文章,会提示文章模板不存在的错误。
4.增强了链接修正的功能,主要针对某些特殊不规范的列表页地址。
5.根据客户要求增加了一个功能,现在可以在配置文件里面设置,是否需要删除过时的临时文件。这个功能主要针对某些对文章时效性要求特别严格的站点(比如新闻类站点)。
/plus/autocollect.php 文件里面增加了一个变量,内容如下橙黄色字体:

$deleteCoHTMLTime=false; //是否删除过期的临时文件,默认为false不删除.
//如果为数字就是要删除,数字是多长时间(小时)前的临时文档算过期,,一般要在24小时以上,最小1小时,只有对文章时效性要求特别严格的才能写几小时,否则很可能采集不到文章

以上增加的内容,可以直接加在 $coNodes = array(); 这一行前面。

涉及的文件:
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxCollection.php
/plus/autocollect/fun_image.php

升级操作:
插件版本为DedePlus_AutoCollect_V2.2_20100722.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.2_20100729update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..

更新日志:

时间:2010-07-22

内容:
1.更新了采集类,增强了采集网页的稳定性,以前不管是单线程还是多线程采集网页,只要采集不到就会放弃采集。从这个更新开始,如果采集不到网页或者图片内容,将会重试最多三次。经过稳定性测试,发现确实可以增强采集能力。
2.修正了一个,在被采集网页有多个分页内容,当某些分页没有正确采集到时,生成的对应网页正文内容为空的问题。
3.更新了图片采集到以后的源地址表示方式,将会强制将采集到的图片加上域名前缀。此更新用来保证文章正文中的图片显示不会出错,尤其是当栏目页面开启二级域名的时候。
4.优化了流程,在一定时间内不会重复生成列表页HTML文件。这个生成间隔时间和首页生成时间共用一个全局变量:$maketime,在 /plus/autocollect.php 文件里面设置。

涉及的文件:
/plus/autocollect/cls_FoxCollection.php
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxHttpDown.php

升级操作:
插件版本为DedePlus_AutoCollect_V2.2_20100718.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.2_20100722update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..

这次又升级了一个小版本号,现在到了版本V2.2
本次升级的主要亮点在于,本插件只要启动以后就可以自己触发自己。理论上来说,本插件不再需要PV触发。
插件在启动以后,每过一段时间(最短60秒)以后,就会触发自己开始再次采集。

当然这只是理论上了,实际应用中,可能会因为服务挂掉、或者网络故障(比如DNS解析错误)、又或者程序运行出错等原因,造成插件运行到一半中止了,当然也就没办法触发自己再次采集。所以,最好还是加上PV触发,这样插件触发会更加稳定。

本来想做成守护进程的形式,但实现守护进程以后发现有两个问题无法解决只好放弃:
1.有些服务器不支持超长运行的进程,比如GODADDY LINUX服务器,进程最长运行时间只有120秒。
2.PHP内存释放问题,无论怎么搞总是有一些内存无法正常释放,造成内存使用量越来越高,最终把进程挂掉。

更新日志:

时间:2010-07-18

内容:
1.修正了不正确引用全局变量,导致首页可能无法正常生成的问题。
2.优化了采集流程,缩短了插件运行时间,现在一个典型的采集流程运行时间大概在30秒左右。
3.增加了插件触发自己再次启动的功能,因此将最短再次采集时间调整为60秒。理论上来说本插件不再需要PV触发,实际应用中加上PV触发会更加稳定。

更新完以后,在浏览器地址栏打开以下链接可查看自动触发的调试信息
http://你的域名/plus/autocollect.php?act=showcron

涉及的文件:
/plus/autocollect/cls_FoxSql.php
/plus/autocollect/cls_FoxSplitWord.php
/plus/autocollect/cls_FoxCollection.php
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxHttpDown.php
/plus/autocollect/fun_image.php
/plus/autocollect/fun_gen.php
/plus/autocollect/lock.bin

升级操作:
插件版本为DedePlus_AutoCollect_V2.1_20100707.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.2_20100718update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..

自动采集插件 是可以使用定时自动采集功能的。
这就是说,你可以设定某个时间段,只有在这个时间内插件才会启动,才能自动采集。

比如,很多服务器都要求客户,只能在晚上12点到凌晨8点这个时间段内,才可以使用采集网页、生成HTML等功能。

那么,我们就可以打开自动采集配置文件,/plus/autocollect.php

首先看看里面有没有这一行:
$coTimeRange=array();

没有就加上,有注释的话把前面的注释去掉。

我们可以这样设定时间段:
$coTimeRange[]=’00:00:00-03:00:00′;

这句的意思是说,0点到3点可以采集

如果我还需要在每天中午12点到1点采集怎么办?很简单,再加一行:
$coTimeRange[]=’12:00:00-13:00:00′;

有多少个时间段,就加多少行。

不过,一般人也不会用到很多个采集时间段吧,-_-!!!

需要说明的是,这个采集时间段,跟服务器所在的地区无关,是按照中国时区的时间来计算的。
也就是说,不管你的网站服务器是在大陆,还是香港、韩国或者美国,你只需要按照自己电脑上面的中国时区时间来设置就可以了。

阅读全文..

更新日志:

时间:2010-07-07

内容:
1.修正了一个在采集时间超长以后,数据库服务器出现“MySQL server has gone away”的问题。
2.修正了一个如果采集出错程序将不能正确返回的问题。
3.修正了一个,如果图片没有正确下载到,生成预览图时函数出错不能正常返回的问题。
4.增加了一个功能,将采集到的图片自动去掉原图片上附加的样式和TITLE等附加信息。
5.修正了一个,如果文章不属于同一个模型,生成HTML时可能会出错的问题。
6.修改了采集程序流程,以前如果没有文章入库是不会尝试生成HTML的;现在不管有没有文章入库,都会尝试将未生成过的文章生成HTML。

涉及的文件:
/plus/autocollect/cls_FoxSql.php
/plus/autocollect/cls_FoxSplitWord.php
/plus/autocollect/cls_FoxCollection.php
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxHttpDown.php
/plus/autocollect/fun_image.php

升级操作:
插件版本为DedePlus_AutoCollect_V2.1_20100629.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.1_20100707update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..

如果文章正文中包含图片,DEDE将默认生成一个标准尺寸的预览图片。该标准尺寸,是在 系统设置->系统基本参数->附件设置 里面设置:缩略图默认宽度(cfg_ddimg_width)和缩略图默认高度(cfg_ddimg_height),这两个参数进行设置的。

在模板调用时,如果刚刚好需要显示这个尺寸的预览图,那么图片看起来就比较舒服,否则就是变形的。
杯具的是:绝大多数时候,模板要求的图片尺寸,都恰恰不是DEDE标准预览图尺寸。

本插件自诩为DEDE自动采集、伪原创、更新一体化插件,当然对这个预览图也是有处理方案的。
废话不多说,上图大家自己看:

这个功能要如何使用呢?
你只需要在DEDE模板显示预览图的代码段,比如像这样一段:
<img src='[field:litpic/]’ width=’143px’ height=’106px’/>

将它修改成:
<img src=”[field:litpic function=getLitPath(@me,143,106)/]” />

这里143是宽度,106是高度。如果宽度和高度一样都是143,这段代码还可以简写为:
<img src=”[field:litpic function=getLitPath(@me,143)/]” />

然后就可以手工生成看一下效果,使用起来就是这么简单。
这种既简单又方便的功能,只有 本自动采集插件第二版 才支持。

 

2011-12-05更新,感谢 【至诚】网友的反馈
—————————————————————–
【小技巧】生成多种缩略图的情况下,系统默认缩略图尺寸最好比自定义尺寸要大!例如:默认310X250 自定义可以是180X130 只要比默认的尺寸小即可。

阅读全文..

更新日志:

时间:2010-06-29

内容:
1.修正了一个在采集不到网页内容时,程序出错不能正常返回的问题。
2.修正了一个如果文章内容不包含中文,造成中文分词失败,程序出错不能继续的问题。
3.新增加了两个采集选项:$coIntervalTime$coTimeRange,详细说明如下:

$coIntervalTime=60; //采集进程间隔时间,在上次采集进程以后,至少间隔多少秒才能再次启动采集进程,建议为60秒,默认为0不限制

$coTimeRange=array(); //采集时间范围,在这个时间段内才会正常采集,所谓的定时采集
//格式为 开始时间-结束时间,可以同时写多条,表示在多个时间范围内都可以开始采集
$coTimeRange[]=’00:00:00-03:00:00′; //0点到3点可以采集
$coTimeRange[]=’04:00:00-06:00:00′; //4点到6点也可以采集

如果需要开启这两个选项,就把以上橙黄色内容的代码段拷贝到/plus/autocollect.php文件里面,放到$coNodes = array();代码段上面,并根据需要自己修改那两个选项的内容。

涉及的文件:
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxHttpDown.php

升级操作:
插件版本为DedePlus_AutoCollect_V2.1_20100625.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.1_20100629update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..

更新日志:

时间:2010-06-25

内容:
1.修正了一个在生成预览图时,没有判断预览图高度宽度是否为0,造成被0除的问题。
2.修正了一个采集图片出错时,程序出错不能正常返回的问题。
3.修改了“是否下载远程资源”这个选项的配置方式,以前是由DEDECMS和本插件配置文件共同控制,稍显累赘。现在只由本插件配置文件控制。
从此以后DEDE采集选项里面的“下载字段里的多媒体资源”将不起作用。
4.修正了一个如果文章栏目只有一级栏目,将不能正确生成栏目列表页的错误。
5.将“自动摘要长度”由固定的200字,改由DEDE系统变量控制。

涉及的文件:
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxCollection.php
/plus/autocollect/cls_FoxHttpDown.php
/plus/autocollect/fun_image.php
/plus/autocollect/cls_FoxSplitWord.php

升级操作:
插件版本为DedePlus_AutoCollect_V2.1_20100623.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.1_20100625update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..

更新日志:

时间:2010-06-23

内容:
1.修正了一个使用打乱句子排列顺序伪原创方式时,如果采集到的正文有单引号等字符,会造成插入数据库失败的问题。
2.修正了一个伪原创时不能进行关键字替换的问题。
3.增加了一个每天最多可以入库多少文章的选项,默认为0不限制,建议200。如开启此选项,入库到达上限以后网页还是照样采集,但要等到第二天才入库。
4.增加了设置入库文章的最少间隔时间,单位秒,默认为0不限制,建议600秒。如开启此选项,每次入库以后必须等待一定的时间才能再次入库。这个选项用来限制采集文章入库的速度。

以上两个选项都在/plus/autocollect.php文件里面进行设置。如果不想使用默认值,就在该文件里面找到(如果没找到,就在$coNodes = array();这一行上面添加)以下两句:
$maxAddArchives=0; //每天最多可以入库多少文章,为0不限制,建议200
$addArchivesTime=0; //入库文章的最少间隔时间,单位秒,为0不限制,建议600

涉及的文件:
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/cls_FoxCollection.php
/plus/autocollect/adcount.bin
/plus/autocollect/replacewords.bin

升级操作:
插件版本为DedePlus_AutoCollect_V2.1_20100622.rar的用户,
请注意查收邮件,将附件中的DedePlus_AutoCollect_V2.1_20100623update.rar解压,
将适合你的更新文件直接覆盖到对应目录下,就可以完成升级。

阅读全文..