到很多网友都为织梦(DEDECMS)的采集教程头疼,的确,官方出的教程太笼统了,什么都没说,换个网站你什么都做不了,这个教程是最详尽的教程,让你一看即会!

一、列表采集

第一步、我们打开织梦后台点击采集——采集节点管理——增加新节点

第二步、这里我们以采集普通文章为例,我们选择普通文章,然后确定
第三步、进入了采集的设置页面,填写节点名称。
第四步、打开你想要采集的文章列表页。
这里以这个网站为例,http://www.nanmafan.com/xunyicao/打开这个页面,
右键——查看源文件找到目标页面编码,就在charset后面)
 
第五步、填写页面的基本信息,填完后如图
第六步、填写列表网址获取规则看看文章列表第一页的地址。
http://www.nanmafan.com/xunyicao/list_49_1.html
对比第二页的地址http://www.nanmafan.com/xunyicao/list_49_2.html
我们发现了他们除了49_后面的数字不一样,其他的都一样,所以我们可以这样写
http://www.nanmafan.com/xunyicao/list_49_(*).html
就是把1换成了(*)因为这里只有2页,所以我们就填从1到2每页递增当然是1了,2-1...是等于1吧
这里我们就填写完了
 
可能大家采集的有些列表没有规则,那就只有手工指定列表网址了,如图
每行写一个页面地址

第七步、填写文章网址匹配规则了,回到文章列表页

右键查看源文件找到区域开始的HTML,就是找文章列表开始的标志。

我们很容易的找到了如图中的“新闻列表”。从这里开始,后面就是文章列表里,再找文章列表结束的HTML

就是这个了,一个很容易找到的标志
如果链接中含有图片:
不处理采集为缩略图这里根据自己的需要选择

 

二、内容页采集

第八步、对区域网址进行再次筛选:

(使用正则表达式)必须包含:(优先级高于后者)

不能包含:打开源文件,我们可以很清楚的看到,文章链接都是以.html结束的所以,我们在必须包含后面填.html如果遇到有些列表很麻烦,还可以填写后面的不能包含

点击保存设置进入下一步,可以看到我们获得的文章网址
看到这些就是对的了,我们保存信息进入下一步设置内容字段获取规则
我们看看文章有没有分页,随便进入一篇文章看看。。我们看到这里的文章没有分页
所以这里的我们就默认了

我们现在来找文章标题等等随便进入一篇文章,右键查看源文件
看看这些

依照源码填写

第九步、填写文章内容的开始,结束和上面的一样,找到开始和结束标志.

开始部分如图

结束部分如图

最后填写如图

 

第十步、你想过滤文章中的什么内容就到过滤规则里写吧,比如要过滤文章中的图片,

选择常用规则,如图

再勾选IMG,如图

然后确定

这样我们就把正文中的图片过滤了

第十一步、设置完毕后点保存设置并预览,如图

这样一个采集规则就写好了,很简单吧有些网站很难写,可要多下点功夫了哦
我们点保存并开始采集——开始采集网页一会的功夫就采集完了

看看我们采集到的文章

最后、导出数据

首先选择要导入到的栏目,按“请选择”那里即可在弹出的窗口中选择你需要导入的栏目发布选项这里一般默认即可,除非你不想马上发布。每批导入默认是30条,这里修改与否都无所谓,附带选项一般选“排除重复标题”,至于自动生成HTML那个选项建议先别生成,因为我们还要去批量提取摘要和关键字。

文章标题
匹配规则:<title>[内容]</title>
过滤规则:{dede:trimreplace=""}_XXX网站{/dede:trim}

 

来自百度http://jingyan.baidu.com/article/642c9d34ab179b644a46f782.html

三、采集规则补充

(一)文字过滤与替换的方法

1.去除超链接,这种最常用。

{dede:trim replace=”}<a([^>]*)>{/dede:trim}
{dede:trim replace=”}</a>{/dede:trim}
如果填成这样,那就把链接的文本也一起去掉了

{dede:trim replace=”}<a([^>]*)>(.*)</a>{/dede:trim}

2.过滤JS调用广告,比如GG的广告,就加个这样的:

{dede:trim replace=”}<script([^>]*)>(.*)</script>{/dede:trim}

3.过滤div标签。

这个很重要,如果没过滤干净则可能使发布出来的文章版面错位, 目前大多数遇到采集后错位的原因在此。

{dede:trim replace=”}<div([^.]*)>{/dede:trim}
{dede:trim replace=”}</div>{/dede:trim}

有的时候也需要这样子过滤:

{dede:trim replace=”}<div 选择器>(.*)</div>{/dede:trim}

4.其它的过滤规则可以照以上规律进行推出。
5.过滤摘要和关键字使用,经常要用到。

{dede:trim replace=”}{/dede:trim}

6.简单替换。
{dede:trim replace=’替换后的词语’}要替换的词语{/dede:trim}
7.去掉src

{dede:trim replace=""}src="([^"]*)"{/dede:trim}

(二)内容页指定作者、来源

指定value值即可实现:

{dede:item field='writer' value='小军' isunit='' isdown=''}
{dede:match}{/dede:match}

{dede:function}{/dede:function}
{/dede:item}

{dede:item field='source' value='军事网' isunit='' isdown=''}
{dede:match}{/dede:match}

{dede:function}{/dede:function}
{/dede:item}

(三)内容页分页采集

在“内容分页导航所在的区域匹配规则:”,填写规则,如 <ul class="pages>[内容]</ul>,然后选择“全部列出的分页列表”。

遭遇情景:如果选择“上下页形式或不完整的分页列表”,列表页的所有文章内容全部一起写入

DEDECMS之九 文章采集的更多相关文章

  1. 织梦DedeCMS未审核文章更新为当前时间

    对于个人站长来说,每天文章的更新量都是个巨大的问题,例如,立信CPA培训注册会计师考试网站,有时候我们去别的网站采集大量的文章,然后自己进行手工整理伪原创,但是审核的时候,时间却是采集发布的时间.一方 ...

  2. 三种dedecms调用相关文章的方法

    在文章的末尾或侧边栏添加相关文章可以提高用户的黏度,提高pv,增加se的好印象(哈哈),那么dedecms如何调用相关文章呢?有三种方法可以实现. 第一种dedecms调用相关文章的方法,用默认的li ...

  3. dedecms 5.7文章编辑器附件上传图标不显示

    我最近发现在使用dedecms 5.7文章编辑器附件上传图标不显示了,以前是没有问题的,这个更新系统就出来问题了,下面我来给大家分享此问题解决办法.   问题bug:在dedecms 5.7中发现了一 ...

  4. dedecms实现编辑文章时不自动修改发布时间

    dedecms默认编辑文章时自动修改文章的发布时间,如何让它不自动修改发布时间呢? 找到后台编辑文章的模板文件稍作调整即可. 文件/dede/templets/artical_edit.htm 把 $ ...

  5. dedecms批量修改文章为待审核稿件怎么操作

    dedecms批量修改文章为待审核稿件要怎么操作呢?因为我们有时会出于某些原因要把文章暂时先隐藏掉,dedecms有一个比较好的功能是将文件状态设为未审核前台就可以看不到了,那要怎么批量设置呢?到后台 ...

  6. dedecms清空所有文章怎么操作?sql语句如何写?

    小C新建了一个站,确切的说是复制,出于seo考虑,决定清空所有文章,那么dedecms清空所有文章怎么操作?sql语句如何写呢?特别提醒:修改之前一定要先做好备份,以防万一!下面的语句在迫不得已的情况 ...

  7. Dedecms(织梦)文章内容页和图片集内容页,调用缩略图的方法

    Dedecms(织梦)文章内容页和图片集内容页,调用缩略图的方法,亲测可用! Dedecms(织梦)首页的图片调用,相信大家已经非常的清楚,但是今天我在进行内容页的编写的时候,发现了内容页图片的调用问 ...

  8. 在织梦dedecms中实现“文章标题-栏目名称-网站名”导航

    本文介绍了在dedecms中,实现文章标题-栏目名称-网站名 导航的方法,有需要的朋友参考下. 在dedecms中实现“文章标题-栏目名称-网站名”导航的方法.   第一种: 在/include/in ...

  9. 如何用SQL命令行工具删除dedecms指定id文章

    用dedecms采集时标题字段设置错了,出现了注释符号<!---->,导致后台的文章列表出现错误,也无法直接从列表中删除,可以远程登录数据库去操作,这个相对比较麻烦,想着直接从后台的SQL ...

随机推荐

  1. equals()方法

    equals()方法是根类Object中的一个方法,子类可以根据需要重写该方法(比如:String类). 一.Object类中的equals()方法实现如下: public boolean equal ...

  2. 开源游戏“2048”IOS移植版

    简介: 这个游戏是我在今年(2014/05)课余时闲着无聊做的一个益智类小游戏,总共花了4个工作日才完成,为了游戏的效率,做了很多优化,目前在IE5以上浏览器能够流畅运行,运行时如果屏幕分辨率不兼容, ...

  3. Azure File

    Azure File 服务使用标准 SMB 2.1 协议提供文件共享.Azure 中运行的应用程序现在可以使用熟悉的标准文件系统 API(如 ReadFile 和 WriteFile)在虚拟机之间轻松 ...

  4. eclipse js提醒报错

    在用eclipse开发项目时,有时候导入项目后,报错为 Problem Occurred: Errors occurred during the build.    Errors running bu ...

  5. [java]byte和byte[]与int之间的转换

    1.byte与int转换 public static byte intToByte(int x) {   return (byte) x;   }   public static int byteTo ...

  6. SQL中CHARINDEX()/INSTR()函数和SUBSTRING()/SUBSTR()函数

    一.SQLServer中的CHARINDEX() 和ORACLE中的INSTR()函数 1.INSTR(C1,C2[,I[,J]]) [功能]在一个字符串中搜索指定的字符,返回发现指定的字符的位置; ...

  7. 烂泥:SQL Server 2005数据库安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 为了能更好的利用服务器,所以打算把该业务进行迁移.因为该业务比较特殊,需要服务器上有相应的硬件支持,所以打算直接升级该服务器目前的操作系统.目前公司服务 ...

  8. 在DigitalOcean云主机上搭建SVN服务器

    最近买了个DigitalOcean主机,顺便搭建个PPTP SVN服务器. 下面是搭建方法: https://www.digitalocean.com/community/tutorials/how- ...

  9. finereport普通报表的移动端自适应方案

    移动端报表呈现,首先要求的是页面随手机屏幕大小自动放缩(自适应),下面给出一个普通报表中的finereport移动端自适应方案,适用于finereport 7.1之前的版本. 首先,了解一下当前我们可 ...

  10. [转]How to add new table in NopCommerce

    本文转自:http://www.tech-coder.com/2015/07/how-to-add-new-table-in-nopcommerce.html Hey guys I am back a ...