DEDE全自动采集插件

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

正在浏览 使用技巧 里的文章

本采集插件对网站服务器有一定的要求,并不是所有的网站都能使用。
函数测试包请从这里下载: http://www.dedeplus.com/test.rar ,包里有两个test文件,一般情况下只要测试test.php就可以了。
传这个test.php文件到网站根目录,然后在浏览器地址栏运行 http://www.dedeplus.com/test.php 看返回结果,测试必须的函数支持。
这里的www.dedeplus.com应该换成你自己的域名。

目前,主要需要以下几类组件支持:php_curl组件、mb_string.dll组件、zlib.dll组件以及几个延时函数。
以下配置方法都以windows服务器环境为例,LINUX服务器设置方法大同小异。

 

A) 支持php_curl组件

1.找到php.ini,(一般在c:\windows\php.ini),打开并编辑它,修改 ;extension=php_curl.dll 去掉前面的分号[;];如果没有,请增加这句 extension=php_curl.dll
2.检查 php安装目录/ext目录 下面是否有php_curl.dll文件;如果没有必须要找到相同PHP版本的php_curl.dll文件。
3.将php安装目录下面的2个dll, libeay32.dllssleay32.dll 复制到 c:\windows\system32 目录下。
4.重启php的服务。就是重启iis。

5.如果把以上步骤都做完了,还是不行,那么点击服务器: 我的电脑->属性->高级->环境变量->系统变量->Path->编辑

在变量值里面增加:
;D:\APMServ5.2.6\PHP;D:\APMServ5.2.6\PHP\ext

这里的 D:\APMServ5.2.6\PHP 应该换成你的PHP安装目录。

 

B) 支持mb_string.dll组件
修改php.ini文件(一般在c:\windows\php.ini):

修改; extension=php_mbstring.dll 去掉前面的分号[;]
如果没有,请增加这句 extension=php_mbstring.dll

重启php的服务

 

C) 支持zlib.dll组件
PHP 的 Windows 版本已经内置该扩展模块的支持,无需加载任何附加扩展库即可使用这些函数。

某些情况下,zlib.dll已经启用,但gzinflate函数被禁用,那么应该:
编辑php.ini文件,修改 disable_functions= 这一行,把等号后面的内容都留空,保存文件并重启php服务

 

D) 启用延时函数set_time_limit,usleep

编辑php.ini文件,修改 disable_functions= 这一行,把等号后面的内容都留空,保存文件并重启php服务

阅读全文..

应该说,dede自动采集插件的在线升级功能还是很方便的,激活插件或更新插件,都只需要点在线更新的按钮就可以完成。
但有时候可能不方便在线更新,这样的话就可以先将以前正常使用的插件相关文件备份一下,等到有需要的时候再恢复。
插件的域名授权文件及程序文件,主要都在 /plus/autocollect/data 目录,只需要备份这个目录就可以了。

具体的操作步骤如下:
1.[旧网站A]将目前正常使用的插件目录 /plus/autocollect/data 下面的所有文件一起备份(一个都不能少:-)
2.[新网站B]安装好DEDEcms,根据您自己的需要可能还需要恢复原来的文档和数据库;
3.[新网站B]安装好dede自动采集插件
4.[新网站B]将第一步从[旧网站A]备份的文件夹里面的所有文件,一起覆盖到[新网站B]的相同位置 /plus/autocollect/data
5.[新网站B]正常使用dede自动采集插件

需要说明的是:[旧网站A]和[新网站B]的域名设置必须完全一致
假设[旧网站A]的域名是:dedeplus.com[新网站B]的域名是:www.dedeplus.com ,将会被插件认为是两个不同的域名,而不能启动。
必须把[新网站B]的域名也设置成:dedeplus.com ,这样插件才能正常使用。

阅读全文..

目前,dede自动采集插件已经升级到V3版本。
v2跟v3在数据文件结构上有了很大的不同,v3版不能向下兼容。因此正在使用本插件的老用户,就有必要将v2的数据文件升级到v3版本。以下详细说明从v2升级到v3的整个过程。

如何将采集插件从v2升级到v3?

1.备份文件
请将以下文件用FTP下载到本地妥善放置,以免升级失败造成不必要的麻烦:

/plus/autocollect.php
/plus/autocollect/adcount.bin
/plus/autocollect/ck.bin
/plus/autocollect/cleanlog.bin
/plus/autocollect/coinfo.bin
/plus/autocollect/lock.bin
/plus/autocollect/makeinfo.bin
/plus/autocollect/replacewords.bin

友情提示:如果你在/plus/autocollect/这个目录还放置了其他重要的文件,也请备份到本地,升级过程会自动删除这个目录多余的文件。

2.上传升级文件

请各位老用户注意查收邮件,将邮件附件中的 从v2升级到v3.rar 解压,上传以下文件并覆盖到网站相应位置,请注意UTF8和GBK版本不同。
比如你的DEDE是v5.6gbk版本,那么你需要上传升级包内的/gbk/plus 目录到你的网站根目录进行覆盖。

/plus/autocollect/fun_gen.php
/plus/autocollect/fun_image.php
/plus/autocollect/cls_FoxSpider.php
/plus/autocollect/data/autocollect.php

3.升级配置文件

然后在浏览器地址栏运行(请将以下链接中的:www.dedeplus.com,换成你自己的域名。)

http://www.dedeplus.com/plus/autocollect.php?act=update

一直点下一步、下一步,直到网页提示:

恭喜,配置文件已经成功保存!

4.删除以前安装的自动采集插件

在DEDE后台->模块->模块管理,删除以前安装的dedeplus [自动采集更新]插件,先卸载后删除。删除的时候,请注意不要选择删除文件

如果没有在DEDE后台安装过本插件,那么请跳过这一步。

5.安装新的v3.0插件

点这里查看>> 如何安装dede自动采集插件v3

友情提示:新插件安装完以后,一定要在线升级一次才可以正常使用^_^

阅读全文..

实事求是的说,用插件的方式采集文章,还是比较消耗资源的。尤其是选项设置不合理的时候,对服务器来说简直就是灾难。
如果用的是独立服务器或者是VPS,这个问题还不是很突出;
如果用的是虚拟主机,那就有必要了解以下的知识,更好的设置采集选项。

1.栏目设置
这个设置看起来跟自动采集没什么关系,关键之处在于,DEDE自动采集插件运行的时候,是会自动生成栏目列表页的。
你可能不知道,DEDEcms对大数据量负载处理的不是很好,在同一个栏目文章很多时,生成列表页的时间会很长。

这么说可能太抽象,我们来举个例子(只是例子,具体数字不一定对,仅作为参考):
比如某个栏目,是列表页,它下面有5000篇文章,在模板里面设置的是一个列表页显示20篇文章。
假设每生成一个列表页需要耗时1秒,那么要把这个栏目所有的列表页全部生成,总耗时=(5000/20)*1=250秒,约等于4分钟。

如果你觉得这个4分钟不算什么,那么我告诉你,自动采集插件运行一次,总耗时也就在2分钟左右。
如果你还是这个觉得4分钟不算什么,那么如果这个栏目总文章有1W,或者2W,或者3W呢?要知道,现在插件的采集能力已经提高到了4000+ ,2天左右采集到1W文章,并不是天方夜谭。

所以,栏目设置的关键就在于,尽量让同一个栏目不要有太多文章
你可以多设置一些采集节点,指向不同的栏目,分担同一个栏目接受文章的压力。
如果栏目文章实在太多,就把它下面再分几个子栏目,这个栏目就作为频道页面好了。频道页面生成一次估计也就是那么2、3秒钟,和生成列表页的速度,那是一个在天一个在地,完全不能比的。

还有一点,在配置文件[ /plus/autocollect.php ] 里面有一个选项:
$maketime = 600; //主页及栏目列表页创建间隔时间,单位秒

这个是限制生成栏目页的时间的,就算生成列表页一次需要4分钟,但如果我半个小时甚至一个小时才生成一次列表页呢?
合理的设置这个选项,可以很明显的减少采集时间浪费在生成列表页上。
一般这个选项设置在10分钟左右(也就是600秒)是比较合理的。

2.在DEDE后台->采集管理->采集节点里面可以批量设置一个采集节点的列表网址
这个列表网址你可以设置1个,也可以设置5个、10个,甚至100个(DEDE限制了每个采集节点列表网址最多100个)。
列表网址是需要一次采集完的,有10个就要采集10个,有100个就要采集100个。很明显,采集10个跟采集100个所需要耗费的时间大不相同。
往往目标站点的更新频率并没有那么快,列表页第一页以后的地址基本上都是重复的,昨天看到的和今天看到的基本一致,那么很多地址根本就不会被保存入库。
但是既然你这样设置了,自动采集插件就肯定要跑完这100个页面。
结果就是:时间也花了,更新的文章也没有采集到(因为从第一页往后基本都是旧文章,没有更新的),得不偿失。
根据我的经验,每个采集节点设置的列表网址最好在10个以下,5个左右。这样采集效率是最高的。

那么如果我确实要采集某个列表页的后面的地址怎么办?很简单,再加多几个采集节点。
比如某个目标采集列表,它有50页,那么你写可以设置5个采集节点:
第一个采集节点,采集:1-10页;
第二个节点:11-20页;
第三个节点:21-30页
...
依此类推。

不用担心采集插件会把时间浪费在这些(自从第一次以后就采集不到更新文章的)节点上面,比如上面讲的第2、3个节点。
插件会自动调整这些节点的采集频率,采集不到新文章的下一次轮到它的时间就会延长,越来越长,长到一天只采集3次。

3.定时采集
全天候采集,肯定要比定时采集耗费的资源更多。
如果有特殊的需要,或者虚拟主机提供商不允许在白天采集,那么我们就可以使用定时采集功能,在凌晨等时间段采集,避开平时服务器资源比较紧张的时候。点这里查看-> 如何设置定时采集功能

4.配置文件里面其他限制资源占用的选项
$coIntervalTime=60; //采集进程间隔时间,在上次采集进程以后,至少间隔多少秒才能再次启动采集进程,默认为60秒
这个选项一般保持默认的60秒就可以了,但如果实在资源很紧张,也可以把它设置的更长,比如120、180甚至300秒。

$addArchivesTime=180; //入库文章的最少间隔时间,单位秒,为0不限制,建议180
这个选项用来设置,从上一次入库文章以后,至少还需要多长时间,才会入库下一篇文章。如果文章被限制了不入库,自然就不会发生入库、生成这样的动作,所以也可以限制资源占用。

$maxAddArchives=200; //每天最多可以入库多少文章,为0不限制,建议200
这个选项是用来设置每天最多可以入库多少篇文章,道理同上面的选项,如果文章没有入库,资源占用肯定少。

阅读全文..

目前,DEDE自动采集插件 已经 更新到了V2.4 ,插件的采集能力也从以前的每天不到1000,提高到现在的每天4000+。

但是这个提高到4000+是有前提的:

首先,你必须要有足够多的内容供插件采集。
如果你的采集目标站点每天才更新几篇或者几十篇,那么就算你加几十个这样的采集节点,满打满算可能更新的文章也不到1000个,地主家也没有余粮啊。
给大家提供几个测试链接,更新超快,都是几分钟一篇的。
http://ent.qq.com/3jym/scroll.htm 腾讯娱乐滚动新闻
http://finance.ce.cn/rolling/ 中国经济网财经滚动新闻
http://news.china.com.cn/rollnews/index.html 中华网滚动新闻

其次,文章里面的图片不能太多,大概每10篇文章里面有2、3个图。如果图片太多,插件就把时间都浪费在下载图片上面,自然没法达成4000+的目标了。

最后,你要在设置文件[ /plus/autocollect.php ]里面进行正确的设置:
$coIntervalTime=60;
这个是采集进程间隔时间,在上次采集进程以后,至少间隔多少秒才能再次启动采集进程。这个还是保持默认60秒不变。

$addArchivesTime=0;
这是入库文章的最少间隔时间,单位为秒。如果你想测试采集能力,可以把这里修改为0,也就是不限制。一般建议为180秒。

$maxAddArchives=0;
这个是最重要的,这是每天最多可以入库多少文章。挑战极限采集能力,你应该把它修改为0,这样才是不限制每天入库数量。新站建议为200篇

$maketime = 300;
这是主页及栏目列表页创建间隔时间,单位秒。文章多了以后,创建栏目时要花费相当多的时间,建议设置为300秒,甚至更长的时间比如600秒。

需要说明的是,采集能力的提高是需要增加系统资源(包括CPU和内存等)消耗的
内存占用峰值最高可能达到120M,CPU占用率峰值可能超过50%。
如果是合租的虚拟主机,资源限制严格的时候,就不适合将采集能力提高到这么多,点这里查看: 如何精心设置配置文件,限制服务器资源占用

但对于VPS或者独立的服务器来说,这个就不是问题了。

阅读全文..

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

比如,很多服务器都要求客户,只能在晚上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';

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

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

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

阅读全文..

如果文章正文中包含图片,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 只要比默认的尺寸小即可。

阅读全文..