以织梦官方站为例,我们采集站长学院下的PHP教程栏目,打开列表地址http://www.dedecms.com/web-art/PHP_jiaocheng。
登录后台,进入“采集节点管理”,新建一个节点,选择内容模型为“普通文章”。
1.设置节点基本信息 (推荐学习:dedecms教程)
先填写一个方便记忆的节点名称,选择目标页面编码为GB2312,防盗链模式不做设置,因目标站没做限制,这一项就不做修改,系统默认超时时间10秒。
2.设置列表网址获取规则
这一步我们要做些设置,获取文章列表地址,回到目标站列表页,观察分页间的变化,可以发现只有“14_”后的数字有规律的递增变化。
首页:http://www.dedecms.com/web-art/PHP_jiaocheng/list_14_1.html
中间:http://www.dedecms.com/web-art/PHP_jiaocheng/list_14_(*).html
末页:http://www.dedecms.com/web-art/PHP_jiaocheng/list_14_172.html
复制一个分页地址,回到“新增采集节点”页面,选择“来源属性”为“批量生成列表网址”,把粘贴地址到“匹配网址”中,修改规律变化处为(*),“批量生成地址设置”处(*)输入1到172,这里的意思是生成出列表第一页到最后172页的所有地址。
测试一下,在弹出框中我们可以看到循环出172条地址记录,很顺利的就设置好了。有时候会碰到较难获取的列表,那我们可以把把没规律的地址复制到”手工指定列表网址“文本框中来采集。
3.设置文章网址匹配规则
上面指定好了文章地址来源页,这一步就需要在这些页面中找出符合要求的文章地址页了。打开一个列表页面观察,左栏的方框中包含了我们需要的全部地址,这种情况区分明显的页面,可以利“区域开始的HTML”和“区域结束的HTMLL”设置进行过滤。
不过也可以使用其他方法。把鼠标移到各处链接地址,观察浏览器左下角显示的完整地址,我们需要的地址都包含“PHP_jiaocheng/20”,那我们把它填写到“必须包含”中。
两种方法都能够过滤出地址,碰上复杂页面,可以配合起来使用,加上正则,几乎没有筛选不出的地址,与下图对照。最后确定,进入下一步“网页内容获取规则”。
4.网页内容获取规则
上面介绍了列表设置的方法,接下来我们进入内容获取规则的设置,如果说采集是上菜的话,上面一到三步的作用,只是开胃菜为下面的主菜做引。接下来是介绍如何从目标站把文章内容采集过来,这一步是是整个采集中最为核心的部分。
继续回到织梦的PHP教程列表,随便打开一篇列表中的文章,这里我们以《正则表达式》这篇文章为例:http://www.dedecms.com/web-art/PHP_jiaocheng/20070420/38633.html ,把该地址复制到“预览网址”;因为织梦所有文章都没分页,所以这里的分页就无需设置,直接进入“固定的采集项目”页面
(注:如果采集的内容含有分页,只需要将分页导航部分的匹配规则设置完成即可,这里有全部列出的分页列表、上下页形式或不完整的分页列表根据内容进行设置即可)
以下为引用的内容:
全部列出的分页列表:分页内容列出所有的链接,如下图所示
上下页形式或不完整的分页列表:单页显示当前分页内容,不完全显示的列表形式
5. 固定的采集项目
进入这一步,就开始对页面源码进行分析了,采集无非是分析HTML页面的结构,从而获取我们所需的内容。所以要求我们对HTML代码有一定的认识,能通过查看页面源文件,找出需要的内容,最好多开几个页面进行分析,找出相同处。
推荐大家使用Dreamweaver分析。在分析页面代码的时候,多使用搜索功能,会方便很多,特别是找到标签后,搜索一下看有无重复以减少分析错误。
1) 文章标题:这个页面的标题是“正则表达式”复制下它,在Dreamweaver按Ctrl+F键搜索全部,有30项记录。因为唯一性,这里我们选择105行这段“
2) 作者:以作者为关键字继续搜索,只有110行有唯一的出现,连同alluse前后的标签一起复制到匹配规则中,使用[内容]替换要采集处。
3) 来源:同上操作在109行找到标签,复制过去,使用[内容]替换要采集处。若来源包含超链接标签想去掉,则在过滤规则框,填写如下规则过滤掉:
<a([^>]*)> <br></a><br>
4) 发布时间:同上操作在111行处进行复制粘贴和修改。
5) 文章内容:搜索文章内容的开始部分,例如“第一部分”在118行发现目标,点击状态栏
发现未能全部选中文章内容,继续前一个
至此,内容的过滤都设置都完成了。
6. 节点采集
如果你的采集节点是一气呵成而且测试成功的话,按提示点击按钮,就可以直接采集了,但是节点是之前写的,就需到“节点管理页”勾选需采集节点,按“采集”按钮进行采集了。若你想采集所有节点的新内容,那就到监控采集页面进行操作吧。
每页采集可以设置每页采集的数据条数,一般来说不要设置太大,否则有可能导致系统处理不过来而部分采集不到,建议别超过15。
线程数是指每次有多少个线程同时进行采集,线程数的增加可以加快采集速度,但相应的会增加服务器资源的占用,所以请慎用。假若目标站点有防刷新限制,此处就可以根据目标站点的防刷新限制时间进行设置,假如没有就默认0秒可以了。
附加选项这三个设置从字面上应该可以很容易理解,这就根据你的实际需要进行选择了。
采集完成。
更多wordpress相关技术文章,请访问wordpress教程栏目进行学习!
Atas ialah kandungan terperinci dedecms采集怎么用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!