Pholcus动态规则示例(翻译)

2016-11-17  本文已影响0人  简书却又不简

特点:动态加载规则,无需重新编译软件,书写简单,添加自由,适用于轻量级的采集项目

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&amp;password=44444444&amp;login_btn=login_btn&amp;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

上一篇 下一篇

猜你喜欢

热点阅读