DedeCMSV5.6版自动采集功能规则使用基本知识讲解教程(一) 2011-05-05 17:09:01 来源: 作者: 【大中小】浏览:5026次评论:0条★★我要投稿★★将此页添加到网摘:DedeCMS采集功能使用基本知识讲解采集是指有着确定方向、明确目的的采撷和记录写作材料的一种活动。
它主要指调查采访和查阅和搜集资料。
采集最主要的作用在于为写作、分析、报表获取直接的和间接的材料。
今天我们讲的采集主要是指网站采集,网站采集的概念主要是:程序按照指定的规则定向获取其他网站数据的一种方式,另一种简单的说法就是将CTRL+C CTRL+V 程序化,系统化,自动化,智能化DedeCMS早期就已经加入了这个采集的功能,以前我们添加网站内容一般都是通过复制、粘贴、编辑然后再发布,这样对于少量的文章还是可以,但如果对于一个新站,什么内容都没有,那就需要复制粘提大量的文章,这是一个重复、枯燥的过程,内容采集就是解决这个问题,将这个重复的操作简化成规则,通过规则进行批量操作。
当然采集还可以通过一些专门的采集器来进行采集,国内比较出名的采集器有火车头。
今天我们这里以DedeCMS程序自带的采集功能来讲解如何使用采集,并介绍如何对采集的内容进行一些批量的管理。
首先我们进入系统后台,打开[采集]-[采集节点管理],在学习使用这个采集工能之前先介绍一些基本的技术知识。
首先我们需要知道HTML基本内容,我们知道浏览器中显示的各种各样的页面其实都是由最基本的HTML组成的,我们可以在我们DedeCMS系统后台发布一篇内容,然后对内容进行一些格式上面的设置。
也就是说我们的页面都是HTML代码经过浏览器解析后显示出来的,这些基本的HTML代码是给机器看的,而解析出来显示的内容是给我们的用户看的,机器其实是一个死东西,他阅读网页不像用户一样,直接看到某一个部分的内容,机器能够看到的是某一部分代码。
DedeCMSV5.6版自动采集功能规则使用基本知识讲解教程(二) 2011-05-05 17:09:01 来源: 作者: 【大中小】浏览:5027次评论:0条★★我要投稿★★将此页添加到网摘:例如,我们查看一个网页:,我们很容易就看到这个文档的内容部分,如图中黄色区域。
我们的电脑是看不出来的,他不过判断显示出来的东西,他只会去解析代码,我们右键查看这个文件的源文件。
机器是阅读这些代码内容的,他只能看懂这部分的内容在下面这个地方:也就是说,我们如果需要采集这些内容,需要告诉机器你应该从哪段代码开始,然后到什么地方结束,中间的这个部分就是我们需要的内容,然后将这些内容自动添加到数据库中来,省去自己添加内容的枯燥。
DedeCMSV5.6版自动采集功能规则使用基本知识讲解教程(三) 2011-05-05 17:09:01 来源: 作者: 【大中小】浏览:5028次评论:0条★★我要投稿★★将此页添加到网摘:这里我们就讲到了采集中的一个概念:规则,规则简单的说也就是我们告诉计算机需做什么,比如采集内容,我们告诉计算机从什么地方的代码开始,到什么地方的代码结束,这些内容就是一个规则,在DedeCMS程序中我们需要涉及到2个地方的规则,1.列表规则;2.内容规则。
列表规则:告诉计算机你去采集哪几篇文章,这些文章列表从什么HTML代码开始,到什么HTML代码结束;内容规则:告诉计算机去采集哪个部分的内容,文档的内容是从什么HTML代码开始,到什么HTML代码结束;我们说学会使用采集功能,其中最主要的也就是学会制定采集的规则,有了这些规则之后,采集其实是非常简单的一件事情。
采集的一般步骤主要有以下几步:1.制定列表采集规则,这里设置主要告诉服务器你采集哪些内容,一般都是被采集网站的列表页;2.制定内容采集规则:这里告诉服务器你采集页面的内容在页面的哪个部分,一般都是被采集网站的内容页;3.选择栏目、条件导出采集内容;4.批量对采集过来的内容进行维护;(可以没有)5.生成采集后的HTML页面代码;我们也能够很清晰的看出,采集最关键也是前2个步骤,这两个步骤是决定采集内容是否成功的一个重要环节,有一个地方采集出错都将不会成功采集到网站的内容。
(第一部分结束)下面我们结合实例讲解如何使用DedeCMS的采集程序来采集页面信息。
我们来看打开的采集节点管理页面:我们把一个整体的采集规则及内容成为一个节点,我们通过对节点的管理可以轻松方便的对我们采集的规则及采集的内容进行管理,当然采集规则也是可以导出的,我们只需要选中相应的采集节点,但后单击[导出配置],就可以将我们事先指定好的采集规则导出来,同大家一同分享。
当然获得了节点规则也可以通过系统的[导入采集规则]将采集规则导入到系统中去,这样方便了对采集节点的管理,同时我们也可以查看这个节点当前采集的内容信息,如采集的日期、创建节点的日期、获取的网址数等等,这些都是采集节点的重要组成部分。
我们下面以采集织梦非官方站点的站长学院栏目为例,讲解如何采集内容的。
被采集的地址列表为:这个是文档内容,所以我们在创建节点的时候先选择“普通文章”,在V5.3中只有普通文章和图集2个支持采集的,以前可以自己定义,但后来发现用的人很少,并且使用起来很多人问题重重,所以在新版本中取消了自己制定采集节点的这些功能。
选择完节点类型后我们开始创建节点,第一个部分是节点的基本信息创建,“节点名称”,这个比较简单,就是方便你分辨节点的名称,这里我们定义为“站长学院_采集”,“目标页面编码”,这个需要你看下你被采集的网页是用的什么编码,一般如果使用的IE浏览器只需要右键就可以查看到:火狐浏览器就需要在[查看]-[字符编码]的菜单中找到相信的字符编码类型:这里我们看到页面编码的类型是UTF-8,所以我们需要设置“目标页面编码”为相应编码。
DedeCMSV5.6版自动采集功能规则使用基本知识讲解教程(四) 2011-05-05 17:09:01 来源: 作者: 【大中小】浏览:5025次评论:0条★★我要投稿★★将此页添加到网摘:“区域匹配模式”分为字符串和正则表达式两种,我们通常使用的匹配模式为字符串,当然如果懂得正则表达式的可以使用正则。
关于正则这里简单的介绍下。
正则表达式(regularexpression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
正则表达式是由普通字符(例如字符 a 到z)以及特殊字符(称为元字符)组成的文字模式。
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
通过正则可以很方便的找到相应的字符区域,但如果要使用这个正则,需要另外学习正则的相关知识。
这里我们主要使用的是字符串,所以不做冗述。
内容导入顺序:即导入到栏目中的内容排序,我们默认选择与目标站一致即可,如果需要倒过来排序,选择相应的选项即可。
接下来防盗链部分设置,如果被你采集的站点没有开启防盗链可以不必理会。
接下来我们来正式开始设置采集的规则了,前面我们也说过采集的规则需要分为列表采集规则以及内容采集规则,列表采集规则需要在一开始就要被设定,只有正确的设定了列表采集规则才能够让服务器知道要采集那些文章。
列表采集规则的设定需要2个部分,第一个部分是列表网址获取规则,指定列表网址获取规则主要是因为很多站长采集目标网站的时候并非就采集几篇内容,可能将目标站整个内容采集下来,而我们在采集的时候发现这个栏目下有几百篇内容,这几百篇的内容通过“上一页”、“下一页”这种形式表现出来,我们要采集内容之前需要让服务器知道整个列表网址。
设置列表采集规则还是比较简单的,列表获取的方式主要有3种:批量生成列表网址,通过系统自动生成批量的地址列表;手工指定列表网址,通过手工指定列表的页面;从RSS中获取,通过RSS文件获取列表页面。
如果我们只需要采集一个列表页面,例如我们就只要采集:,只要这10篇内容,那我们只需要在匹配网址中填写这如果我们采集多个列表的内容,可以通过自动生成或者指定多个列表页面完成。
我们来查看下列表页,我们单击下面的在单击分页后我们观察地址栏中的地址:…很容易发现,在这个网址列表中只有“.html”前面的内容在发生变化,从2~10,我们换上1试试看:,发现这个就是我们那个栏目首页,这样我们可以自动指定一个点击匹配网址后面的“测试”按钮来看看,发现这个列表我们已经成功获取了。
或者我们选择手工指定,然后在网址列表中进行指定:当然这个列表部分的规则还有更多的功能,比如可以指定列表栏目导入的内容,这部分详细的设置可以查看织梦帮助中心的:我们这里设置完了列表地址,接下来我们需要设置文章网址匹配规则,这个匹配规则是让我们来采集文章列表,告诉服务器要采集哪些地方的文章,在采集这个文章列表之前我们先看几个文章列表的页面。
我们看这几个列表的页面其中不变的部分是头部导航、右侧的推荐信息,还有底部的内容,主要变化的地方是列表的标题和内容,我们采集列表文章最主要的就是采集列表的文章标题部分,如果我们懂HTML代码观察,最直接的体现就是HTML代码中的列表页部分的内容是变化的。
所以我们在指定采集列表页的时候只需要指定一个统一的规则即可,因为列表的页面都是一样的,所以这个规则适用于所有的列表页。
当然,我们也会发现内容页面也是如此,采集的时候只需要指定一个统一的规则就可以采集到相似的所有页面的内容。
当然有一些网站列表链接到其他的内容,这样就遇到了采集规则不匹配的问题,一般表现为无法采集到内容,因为规则不适用,另外一种表现就是采集进度条不动,终止在那里,甚至有时候还会报错。
这些原因最主要的就是规则同目标采集网站不匹配造成的,所以在采集内容之前要确保规则的正确性。
DedeCMSV5.6版自动采集功能规则使用基本知识讲解教程(五) 2011-05-05 17:09:01 来源: 作者: 【大中小】浏览:5030次评论:0条★★我要投稿★★将此页添加到网摘:接下来我们设置列表采集页面的采集规则,我们首先查看源文件,在IE浏览器右键选择[查看源文件],打开列表页的源代码。
如果我们有DW的话将这些代码拷贝到DW中去,我们找到那个列表的所在位置:发现这个列表的内容在“”这个层里面,也就是说,我们需要告诉服务器采集列表的标题你从这里开始采集,然后直到这个层结束的地方采集为止,我们看到这个层结束的地方是“”,在中间没有发现任何相同的代码。
这里我们需要告诉大家的就是我们这个规则,告诉服务器的起始HTML标签必须是唯一的,也就是说你在这个页面中只有这一个标记,这样电脑才知道从哪个地方开始,到那个地方结束。
采集规则编写的时候很多时间都需要你去寻找那个唯一的标识,有了这些标识,服务器才知道能够将这些内容抓取下来。