采集器除了采集之外,还可以做很多有趣的事情。本文以蜜蜂采集器为例,介绍如何使用采集器实现论坛自动签到的功能。 环境准备为了方便测试,我们自建一个测试用的论坛站点。自建环境如下: - Discuz论坛系统:这里以Discuz论坛系统为例,搭建一个简单的论坛。具体搭建过程,此处略过。
- 每日签到:这个是Discuz插件,注意区分名称,全称是“DSU每日签到”。如果某个论坛的签到页面,带有dsu_paulsign字样,那一般就是使用了这个签到插件。
编写任务规则这里,因为我们要实现自动签到功能。首先,得是能签到,即实现一个能签到的任务规则;其次是定时执行签到操作,即加个计划任务。 新建采集规则打开蜜蜂采集器,新建一个采集规则,名称就是“论坛自动签到”。因为我们是要自动签到,使用的是站点发布功能,而不是采集功能。所以,数据采集这部分只是为了采集规则的完整性,并不重要,简单设置即可。 新建规则中,简单设置User-Agent和Cookie。如果没有User-Agent或Cookie,请到对应的管理器添加一个。 “列表页”设置中,简单加个本地文件路径,例如“E:\cache\1.txt”。这里主要的目的不是采集,所以采集的内容可以使用本地的,这样任务运行更快,无需网络请求了。勾选“列表页网址即为内容页网址”,将列表页获得的网址作为内容页网址,跳过“网址采集”这一步。如下图:
蜜蜂采集器“列表页”设置
上图的“实时输出”的网址列表,点击后选择菜单项“测试内容采集”,即可测试内容采集。我们实际也不需要“内容采集”这一步,但为了后面有数据可以测试发布,还是得先“测试内容采集”。点击“测试内容采集”,跳到“内容采集”页面。如下图:
蜜蜂采集器“内容采集”设置
上图的“调试”列表中,双击“记录项”,或选中“记录项”并点击工具栏的“测试内容发布”,即可测试内容发布功能。为了后面有数据可以测试发布,我们先点击“测试内容发布”,跳到“内容发布”页面。由于没有发布通道,系统提示错误,关闭提示窗口,即可。 接下来,我们添加一个“发布到站点”的通道配置。如下图:
蜜蜂采集器“内容发布”设置
点击“发布到站点”的按钮,打开“发布到站点”管理器页面。 添加发布通道要添加“发布到站点”的配置,需要站点发布模块、User-Agent和Cookie。 我们先添加站点发布模块。打开系统主菜单“帮助”——“应用市场”,应用市场中搜索“自动签到”,找到对应的应用后,点击“详情”查看使用说明,点击“下载”导入模块到本地。这里,如果弹出购买窗口,支付后关闭弹出的网页窗口,系统会询问是否继续下载,选择“继续下载”即可。下载后,选择站点发布模块分组,模块就被导入到“站点发布模块”管理器中。 打开系统主菜单“基本”——“Cookie管理”,添加一个Cookie项目。
蜜蜂采集器的Cookie项
点击“抓取Cookie”,然后在Cookie捕获窗口,输入要签到的站点的域名地址,并登录自己的帐号。登录后,点击“确定”选定Cookie,再保存新增的Cookie项。
蜜蜂采集器的“抓取Cookie”
如果不使用“抓取Cookie”功能,也可以使用其他浏览器的开发者工具获取Cookie,比如Chrome浏览器等。 User-Agent的设置类似Cookie。系统默认自带了一些User-Agent,可以不添加。 转到“发布到站点”管理器窗口,添加一个配置项。选择刚刚导入的发布模块,下方的“全局变量”区域会自动展示这个模块的全局变量列表,可以根据需要修改全局变量的取值。选择添加的Cookie项,选择一个User-Agent,即可。如下图:
蜜蜂采集器“发布到站点”
转到采集规则的编辑窗口,在添加的发布通道中,选择新增的“发布到站点”配置项。 现在测试一下效果。点击“测试发布”,如下图:
蜜蜂采集器“测试发布”
高级设置至此,我们基本完成了采集规则的编写。但是,如果多次采集,由于网址重复了(都是“E:\cache\1.txt”),之后就不再发布,进而导致签到功能只执行一次。所以,需要修改一下规则的设置。在采集规则的“高级设置”中,将“采集设置”——“重复网址检测”的勾选取消掉。 另外,如果长时间运行,内容数据库的数据越来越多,也占用空间。所以,不应该保存内容记录到内容数据库,所以在采集规则的“高级设置”中,勾选“发布设置”——“发布完成后执行”——“删除所有已发布的记录”和“删除所有未发布的记录”。 计划任务打开系统主菜单“视图”——“计划任务”,添加一个计划任务。
蜜蜂采集器“计划任务”
如图。将刚刚新增的采集任务加入到右侧列表中。设置时间间隔为6小时。这里,如果时间间隔过短,造成不必要的多次请求,资源浪费;如果时间间隔过长,不能保证定时执行的时间点电脑刚好处于开机状态。时间区间设置为0到23点,也就是全天都执行。 至此,我们就实现了一个自动签到的功能。
|