论坛类采集事例
来源论坛:http://www.discuz.net/ >> 代码交流
目标网站:http://127.0.0.1/ >> 默认论坛(本机架设)
其它备注:不下载附件,将内容转为UBB格式在线发布到目标网站。仅采集第一楼的贴子内容!
步骤:

站点名称一栏输入:Discuz
站点网址一栏输入:http://www.discuz.net/
站点描述一栏输入:Discuz! 官方论坛
2.整站内容规则:
我们要采集代码交流版块的内容,首先我们进入他的代码交流版块的任意一个贴子内,查看网页源码内容,得出以下源码:
我发贴的标题是:“孤魂编写火车头程序教程说明贴”,查看源文件,找到此内容所在的位置,可能会找到很多处有,我推荐使用一处为Discuz的标题所在的通用源码:
你可以多查看几篇贴子,将源码对比一下,从这里看出从“标题:”到“</td></tr>”之间就是文章标是的所有内容,所以我们双击标题标签栏打开编辑窗口,在开始字符串处输入“标题:”;在结束字符串处输入“</td></tr>”,然后点击确定完成标题标签设置:
下一步从源码当中查找发贴的内容段代码,需要查找出整个一楼的源码,多查看几篇贴子将源码比较,我们会发现所有的内容开始于:“<div style="font-size: 12px">”这里,结束于:“<tr><td align="right">”。所以我们可以双击内容标签栏,分别输入开始与结束字符串,然后点击确定完成设置,以下可以在页面测试栏输入来源的网址,测试以上设置是否正确,得出以下源码:
因为以上源码里面有一些无效的内容,我们需要将其屏蔽或替换。火车头采集器已经集成了大多数的HTML标签自动替换成UBB的功能,如fontsize;<br>;<p>等标签,所以我们最主要屏蔽或替换的内容为不必要文字或图片等:首先我们看源码,我在发贴的时候已经选择了使用CODE和QUOTE的UBB标签,根据以上源码,我们需要删除的内容有,建议在做完以下每一步后,点击确定然后测试一次,以便及时发现错误的设置:
开始与结束字符串及内容排除或替换支持变量,只需要使用“(*)”代替变化的内容即可。⑴. “<div(*)>”和“</div>”因为此处有些div标签不是完整的,所以没有使用系统选项里面的直接删除div标签的选项,完成后测试内容。
⑵.
⑶.继续向下看,内容里面还有多余字符“CODE:”;“QUOTE:”及“[<i> 本帖最后由 孤魂 于 2006-12-26 19:44 编辑 </i>]”,前两段内容完全排除,后面一段因为里面的“孤魂”及时间为变量,所以我们排除内容写:“[<i> 本帖最后由(*)编辑 </i>]”。
⑷.屏蔽附件属性片的源码
⑸.因为Discuz对图片做了JS效果处理:
⑹.做完以上步骤,内容基本可以独立出来了,剩下的就是相关贴子搜索及其它会员的签名栏,屏蔽:
⑺.最后测试规则是否正确,然后保存完毕.我刚才所做的规则我已经导出>>点击下载此站点规则

3.新建任务,在任务列表栏选择刚才所见的站点Discuz,然后点击鼠标右键>>选择从该站点新建任务:

在新弹出来的窗口,原来有讲过,有三个页面,在第一个页面设置网址选项,因为我们是先采集网址在从网址列表得到内容,所以我们设置采集深度为1。点击向导添加>>因为我们要采集多页的内容,所以我们可以选择批量/多页,然后输入网址规则

4.以下设置完成,我们点击内容规则,因为在新建站点时,我们设置了Discuz网站的通用采集规则,所以在这里,此部可以跳过,如果有修改的地方请按照相关内容修改,在此处修改内容不影响整站内容规则。
5.数据发布方式,我们选择方式三:Web在线发布到网站,点击启用,使用分局发布方式,然后点击自定义全局发布方式,打开Web方式在线发布向导。

我的目标网站是Discuz5.0论坛程序,我们选择好相应的CMS模块,目标站网页编码及发表方式,然后选择目标系统需要登录,并填写网站的根网址,用户名及密码,在点击登录,当系统提示登录成功后,刷新列表,在刷新列表当中,我们选择需要发布的目标版块,然后可以点击测试模块,如果确认模块可以正确发表,此步可以跳过,然后点击何在设置完成Web方式在线发布向导。
因为刷新列表设置同一CMS程序不同风格的刷新列表规则不一样,如果系统不法自动列表,可以选择使用自定义分类,填上正确的ID即可发表。6.完成以上设置,会返回到新建任务的窗口,在右上角输入任务名称,然后点击保存按钮完成所有设置,保存后完毕关闭此窗口。

7.开始采集,在任务列表栏选择刚才建议的任务“代码交流”,然后点击主要工具栏里面的开始按钮程序将自动完成采集:

