# 规则示例

{
    //解析时线程数,内容解析时使用到的线程数,默认值为1
    "threadNum": 解析时线程数,
    //默认为300000毫秒(300秒),连续间隔多长时间后没有新的请求任务表明此任务已经结束
    "waitTime": 超时等待时间,单位为毫秒,
    //默认为10000 毫秒(10秒),请求间隔时间为0到该值得两倍之间的一个随机数
    "interval": 请求的最大间隔时间,单位为毫秒,
    "link": { //链接解析规则
        "startUrl": "起始链接,多个起始链接之间用半角逗号隔开",
        "rules": [ //链接提取规则
            {
                "expression": "匹配表达式",
                "pattern": "链接匹配模式"
            }
        ]
    },
    "site": {//站点规则
        //浏览器标志,默认值为空,表示系统从众多内置标识符中随机选择一个
        "userAgent": ""
        //来源参考页,默认为空,表示系统设置为当前请求的网页值
        "referrer": "",
        //确定连接建立之前的超时时间(以毫秒为单位),默认为30秒
        "connectTimeout": 0,
        //最大的请求深度,此值为0或负数时表示不进行深度限制,默认不进行深度限制
        "maxDepth": 0,
        "cookieValue": "",//请求的cookie,默认为空
        //封杀标志,使用正则表达式,如果为空则不进行此校验
        "failureMark": "",
        //与封杀标志配合使用,连续多次在下载内容中获取到失败标识时的重试此次
        //超过此次数会关闭该风铃虫实例
        "interceptCount": 0,//",封杀重试次数,默认为5"
        "headers": [//请求头配置
            {
                "headerName": "",
                "headerValue": ""
            }
        ],
        //失败重试次数,默认为3
        "retryCount": 0,
        "cacheControl": "",// 网页缓存策略,默认为 max-age=0
        "circularRedirectsAllowed": true,//确定是否应允许循环重定向,默认为false
        "contentCompressionEnabled": true,//是否请求目标服务器压缩内容。默认为true
        "cookieSpec": "",//确定用于HTTP状态管理的cookie规范的名称
        "maxRedirects": 0,//最大重定向数,默认为50
        //确定客户端是否应规范请求中的URI。默认为true
        "normalizeUri": true,
        //确定是否应自动处理重定向,默认为true
        "redirectsEnabled": true,
        //确定是否应拒绝相对重定向。 默认为false
        "relativeRedirectsAllowed": true,  
    },
    "content": {//内容解析规则
        "contentPageRule": {//内容页地址规则
            "expression": "匹配表达式",
            "pattern": "链接匹配模式"
        },
        "pageRule": {//内容匹配规则
            "caseSensitive": true,//是否大小写敏感
            "fuzzy": true,//是否为模糊匹配
            "mode": true,//匹配模式
            "pattern": "内容匹配参数",
            "target": "期待匹配值",
            "type": "内容匹配类型"
        }
    },
    "rules": [//内容提取规则
        {   //内容提取项代码,同一组内容提取规则里每一个内容提起项的编码必须唯一
            "code": "内容提取项代码",
            "descp": "内容提取项描述",
            "name": "内容提取项名字,选填",
            "rules": [//属性提取规则
                {
                    "param1": "第一个参数",
                    "param2": "第二个参数,部分规则下生效(如替换时作为替换目标)",
                    "rule": "内容处理策略",
                    "sort": 0 //序号,必填
                }
            ]
        }
    ]
}

注意事项

  • 上述配置参数中 提取项提取规则 里的提取器的类型必须为指定的值,改指定的值参见 内容提取器类型

  • 在同一组提取项提取规则内部,提取器的作用顺序必须存在且保证具有唯一性

  • 在同一组爬虫内容提取项中,爬虫内容提取项的内容提取项代码 必须存在且保证具有唯一性

  • 在同一组爬虫内容提取项中,爬虫内容提取项具有顺序无关性,即不存在先后顺序关系

  • 在同一组提取项提取规则内部,可以使用多个 内容提取器,多个内容提取器可以重复或循环,能否随意配置

Last Updated: 5/23/2020, 10:57:21 PM