特点:动态加载规则,无需重新编译软件,书写简单,添加自由,适用于轻量级的采集项目
xxx.pholcus.html
<Spider>
<Name>HTML动态规则示例</Name>
<DeScription>HTML动态规则示例 [Auto Page] [http://xxx.xxx.xxx]</DeScription>
<Pausetime>300</Pausetime>
<EnableLimit>false</EnableLimit>
<EnableCookie>true</EnableCookie>
<EnableKeyin>false</EnableKeyin>
<NotDefaultField>false</NotDefaultField>
<Namespace>
<Script></Script>
</Namespace>
<SubNamespace>
<Script></Script>
</SubNamespace>
<Root>
<Script param="ctx">
console.log("Root");
ctx.JsAddQueue({
Url: "http://xxx.xxx.xxx",
Rule: "登录页"
});
</Script>
</Root>
<Rule name="登录页">
<AidFunc>
<Script param="ctx,aid">
</Script>
</AidFunc>
<ParseFunc>
<Script param="ctx">
console.log(ctx.GetRuleName());
ctx.JsAddQueue({
Url: "http://xxx.xxx.xxx",
Rule: "登录后",
Method: "POST",
PostData: "username=44444444@qq.com&password=44444444&login_btn=login_btn&submit=login_btn"
});
</Script>
</ParseFunc>
</Rule>
<Rule name="登录后">
<ParseFunc>
<Script param="ctx">
console.log(ctx.GetRuleName());
ctx.Output({
"全部": ctx.GetText()
});
ctx.JsAddQueue({
Url: "http://accounts.xxx.xxx/member",
Rule: "个人中心",
Header: {
"Referer": [ctx.GetUrl()]
}
});
</Script>
</ParseFunc>
</Rule>
<Rule name="个人中心">
<ParseFunc>
<Script param="ctx">
console.log("个人中心: " + ctx.GetRuleName());
ctx.Output({
"全部": ctx.GetText()
});
</Script>
</ParseFunc>
</Rule>
</Spider>
Tag:翻译
<Spider>
:蜘蛛🕷️
<DeScription>
:描述
<Pausetime>
:停顿时间
<EnableLimit>
:启用限制
<EnableCookie>
:启用浏览器缓存
<EnableKeyin>
:键盘录入
<NotDefaultField>
:不是默认字段
<Namespace>
:名称空间
<SubNamespace>
:次级名称空间
<Root>
:根
<Rule>
:管辖
<AidFunc>
:帮助Func
<ParseFunc>
:解析Func
javascript:翻译
param
:参数
JsAddQueue()
:js添加队列
GetRuleName()
:获取管辖名称
Output ()
:输出
文章摘自:github /作者:henrylee
网友评论