到很多网友都为织梦(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. UITableView代理方知多少+执行顺序

    一.前言 iOS中UITableView是最常用的一个控件.看了一下UITableView的代理:UITableViewDelegate 和 UITableViewDataSource.其中UITab ...

  2. HTTP和GET/POST请求(NSURLConnection)

    网络编程 网络编程是一种实时更新应用数据的常用手段 网络编程是开发优秀网络应用的前提和基础 网络基本概念 客户端(就是手机或者ipad等手持设备上面的APP) 服务器(远程服务器-本地服务器) 请求( ...

  3. 详解MySQL的用户密码过期功能

    这篇文章主要为大家详细介绍了MySQL的用户密码过期功能的相关资料,需要的朋友可以参考下   Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包. ...

  4. 10、技术经理要阅读的书籍 - IT软件人员书籍系列文章

    技术经理是项目组中的重要角色.他需要负责软件项目中的重要部分,如果项目组没有架构师的话,技术经理还需要担负起架构师的职责.同时,技术经理要对项目中的所有重要的技术问题进行处理. 但是,在项目组内部,软 ...

  5. Spring整合Junit4

    1.加入相应依赖包 junit4-4.7.jar 以及spring相关jar包 2.在测试代码的源码包中如 src/test/java 新建一个抽象类如下 import org.junit.runne ...

  6. DIV+CSS实现左侧带三角形的提示框

    实现效果

  7. Asp.net MVC的Model Binder工作流程以及扩展方法(1) - Custom Model Binder

    在Asp.net MVC中, Model Binder是生命周期中的一个非常重要的部分.搞清楚Model Binder的流程,能够帮助理解Model Binder的背后发生了什么.同时该系列文章会列举 ...

  8. C# 和 C++ 数据类型对照表

    又要用C#调用C++写好的api函数,为了方便,将网上的数据类型做个整理,方便以后查找,以后遇到需要的在进行查找 C++ C#             WORD ushort     DWORD ui ...

  9. Java 文档注释

    Java只是三种注释方式.前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束. 说明注释允许你在程序中嵌入关于程序的信息.你可以使用javadoc工具软件来生成信息, ...

  10. windows 远程桌面研究

    最近因为一个监控相关的项目,深入研究了一下 windows 的 远程桌面的相关知识. 1. 如何让关闭了远程桌面连接的用户,对应的 session 立即退出 windows server. 大家使用 ...