batchcollect pagecollect来自官方杰奇jieqi定时采集配置方法参数详解第2/2页

 更新时间:2008年07月11日 08:44:35   作者:  
主要的功能页面为pagecollect.php和batchcollect.php要实现采集,默认方式是根据配置好的采集规则,在浏览器提交相应的参数即可完成后面的采集入库全部动作。

建立批处理文件方法如下:
在任意目录建立一个后缀名为 .bat 的文件,比如 D:\collect.bat,然后用文本编辑器输入类似下面的代码


@echo off
"explorer" "https://www.jb51.net/modules/article/admin/pagecollect.php?action=collect&siteid=1&collectname=0&startpageid=1&maxpagenum=1&notaddnew=0&jieqi_username=admin&jieqi_userpassword=1234"
"explorer" "https://www.jb51.net/modules/article/admin/batchcollect.php?action=bcollect&siteid=1&batchids=123,234,345&jieqi_username=admin&jieqi_userpassword=1234"
exit


其中
第一句 @echo off 是表示关闭显示
最后一句 exit 表示执行完退出
中间每行表示一个采集命令(可以设置多行),就是利用系统的浏览器来执行前面编辑好的采集url。
使用这样的格式:

"explorer" "url"

前面部分是命令,后面是采集的url,也可以使用这样的格式:

"%programfiles%\Internet Explorer\IEXPLORE.EXE" "url"

前面部分是ie浏览器的路径,后面是采集的url。

这两种命令模式的区别是,有多行命令的时候,前者会打开多个浏览器窗口同时执行;而后者先打开浏览器执行第一个命令,必须等这个浏览器关闭后才会重新打开一个浏览器执行第二个命令。

编辑好上面的bat文件后,开始在任务计划里面添加执行这个任务,主要步骤如下(每半小时执行一次采集):

a、打开"控制面板",进入"任务计划"。
b、点"添加任务计划"打开任务计划向导进行添加任务。
c、点"下一步",然后点"浏览"选择要执行的程序。(例子里面就是选择 D:\collect.bat)
d、设置任务名称及执行频率,比如选择"每天",点"下一步"。
e、选择最开始执行的时间和日期,一般设置比当前时间后面一点就行,点"下一步"。
f、设置执行的用户名和密码(本操作系统的帐号),点"下一步"。
g、选择"在单击"完成"时,打开此任务的高级属性",点"完成"。
h、在"日程安排"里面,点"高级",选择"重复任务",设置"每30分钟"执行一次。
i、保存以上设置后即完成系统任务计划。


二、linux环境下做法

linux下可以利用的系统定时任务来执行,也同样需要先制作一个批处理的脚本,方法如下
在任意目录建立一个后缀为 .sh 的文件,比如 /www/collect.sh ,需要赋值可执行权限,如 chmod 755 /www/collect.sh
里面内容如下:


wget -qO - "https://www.jb51.net/modules/article/admin/pagecollect.php?action=collect&siteid=1&collectname=0&startpageid=1&maxpagenum=1&notaddnew=0&jieqi_username=admin&jieqi_userpassword=1234"
wget -qO - "https://www.jb51.net/modules/article/admin/batchcollect.php?action=bcollect&siteid=1&batchids=123,234,345&jieqi_username=admin&jieqi_userpassword=1234"

 

其中每行表示一个采集命令(可以设置多行),是利用系统的wget命令调用url执行,并取消输出。
每行命令如下:
wget -qO - url
前面 "wget -qO - "是wget命令及参数,后面url是编辑好的采集url

编辑好 sh 文件后,用 crontab 命令添加定时任务,主要步骤如下:

a、用 crontab -e 命令,打开定时任务编辑器,里面一行表示一个定时任务。
b、用vi命令,增加一行定时执行批处理脚本的命令,格式如下:
f1 f2 f3 f4 f5 program 
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推。
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推。
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推。
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推。
program 为要执行的命令或者程序文件名

例1:每30分钟执行一次采集
*/30 * * * * /www/collect.sh

例2:每小时的第10分钟时候执行一次采集
10 * * * * /www/collect.sh

c、crontab命令详细用法请参看相关文档,一般网上也能搜索到。

注:windows的任务计划和linux的定时任务都可以设置多个,但是要避免同一本书在同一时间开多个浏览器同时采集,这样在判断最新章节时候会出错。

相关文章

最新评论