Pholcus爬虫的动态规则使用 .pholcus.html 作为规则文件后缀,默认放在当前目录的 ./pholcus_pkg/spiders 文件夹中。用户可以在配置文件 ./pholcus_pkg/config.ini 中通过修改“spiderdir”字段来修改动态规则目录,下面代码是一个下载本人github主页的动态规则示例:
<Spider>
<Name>henrylee2cn github profile</Name>
<Description>(HTML动态规则示例) 文件下载测试 [https://github.com/henrylee2cn]</Description>
<!-- Pausetime为0,表示使用操作界面设置的暂停时间 -->
<Pausetime>0</Pausetime>
<!-- EnableLimit为false,表示默认使用请求数作为操作界面采集上限的控制项 -->
<EnableLimit>false</EnableLimit>
<!-- EnableCookie为false,表示不缓存cookie,从而软件将自动更换User-Agent -->
<EnableCookie>false</EnableCookie>
<!-- EnableKeyin为false,表示不使用来自操作界面的自定义配置信息 -->
<EnableKeyin>false</EnableKeyin>
<!-- NotDefaultField为true,表示不输出文本结果的默认字段如Url、ParentUrl、DownloadTime -->
<NotDefaultField>true</NotDefaultField>
<!-- Namespace影响结果输出的路径或者数据库、表单名称 -->
<Namespace>
<Script></Script>
</Namespace>
<!-- SubNamespace根据结果数据调整结果输出的路径或者数据库、表单名称 -->
<SubNamespace>
<Script></Script>
</SubNamespace>
<!-- Root为采集规则执行的入口 -->
<Root>
<Script param="ctx">
ctx.JsAddQueue({
Url: "https://github.com/henrylee2cn",
Rule: "github"
});
</Script>
</Root>
<!-- Rule为各个规则分支,可以有多个 -->
<Rule name="github">
<ParseFunc>
<Script param="ctx">
// 打印日志
ctx.Log().Debug("henrylee2cn's github URL: %v", ctx.GetUrl());
// ctx.FileOutput()直接输出文件,可选参数为空时根据url自动判断文件名
ctx.FileOutput();
</Script>
</ParseFunc>
</Rule>
</Spider>
这里下载Pholcus幽灵蛛爬虫源码。
(adsbygoogle = window.adsbygoogle || []).push({});