到很多网友都为织梦(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. Android与JS之间跨平台异步调用

     为什么突然要搞这个问题呢?  在开发浏览器的时候遇到这个狗血的问题,花了将近1天的时间才想到这个解决方案,Android与JavaScirpt互调. 因为接口是抓取的别人的,所以出现了JS跨域问题, ...

  2. db2+python+sqlchemy环境的搭建

    记录了通过sqlalchemy 管理db2数据库的环境搭建 1.db2数据库安装配置 利用winscp复制iso文件到/mnt/IBM_db2 目录下 IBM_db2为自己创建 重命名 mv IBM\ ...

  3. Harrypotter

    #include<iostream> using namespace std; int main() { ]={}; int a,b,c,d; cout<<"请输入总 ...

  4. [MySQL Reference Manual] 5 MySQL 服务管理

    5. MySQL 服务管理 5. MySQL 服务管理 5.1 The Mysql Server 5.2 Mysql 服务日志 5.2.1 选择General query log和slow query ...

  5. 编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt

    package zuoye; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep ...

  6. Html5拖拽复制

    拖拽是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖拽是标准的一部分,任何元素都能够拖拽. Html5拖拽非常常见的一个功能,但是大部分拖拽的案例都是一个剪切的过程, 项目中需 ...

  7. SHA-1 加密算法破解现已只需要 10 天

    转自:http://www.linuxeden.com/html/news/20151009/163173.html SHA-1是如今很常见的一种加密哈希算法,HTTPS传输和软件签名认证都很喜欢它, ...

  8. Linux学习--------二

    Linux基础知识 Linux文件系统为一个倒转的单根树状结构文件系统的根为"/" 文件系统严格区分大小写路径 使用"/"分割(windows使用"\ ...

  9. Java正则获取邮箱

    实现思路 1.使用Java.net.URL对象,绑定网络上某一个网页的地址 2.通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象 3.通过 ...

  10. AC日记——计算2的N次方 openjudge 1.6 12

    12:计算2的N次方 总时间限制:  1000ms 内存限制:  65536kB 描述 任意给定一个正整数N(N<=100),计算2的n次方的值. 输入 输入一个正整数N. 输出 输出2的N次方 ...