# 完整规则示例

{   
    "interval" : 10, //每次请求的间隔时间,单位为毫秒,默认为10秒,请求间隔时间为0到该值得两倍之间的一个随机数
    "waitTime" : 300, //超时等待时间,单位为毫秒,默认为300秒,连续间隔多长时间后没有新的请求任务表明此任务已经结束
    "threadNum" : 1, //爬虫使用线程数
    "site" : { //站点设置信息配置规则
        "userAgent" : "", //浏览器标志,默认值为空,表示系统从众多内置标识符中随机选择一个
        "referrer" : "", //用于指明当前流量的来源参考页面,默认为空,表示系统设置为当前请求的网页值
        "cacheControl" : "", //网页缓存策略,默认为 max-age=0
        "cookieValue" : "", //请求的cookie,默认为空
        "retryCount" : 0, //请求失败时重新执行此请求的次数,默认为3
        "cookieSpec" : "", //确定用于HTTP状态管理的cookie规范的名称<br/>
        "redirectsEnabled" : true, //确定是否应自动处理重定向
        "failureMark":"",//失败标志, 下载内容里包含此值时表示被服务器拦截,使用正则表达式,如果为空则不进行此校验
        "interceptCount":5,//拦截次数阀域值,连续多次在下载内容中获取到失败标识时的重试此次,超过此次数会关闭该风铃虫实例,默认为5
        "relativeRedirectsAllowed" : true, //确定是否应拒绝相对重定向
        "circularRedirectsAllowed" : true, //确定是否应允许循环重定向(重定向到同一位置)
        "maxRedirects" : 0, //返回要遵循的最大重定向数。 重定向次数的限制旨在防止无限循环
        "connectTimeout" : 0, //确定连接建立之前的超时时间(以毫秒为单位)
        "contentCompressionEnabled" : true, //确定是否请求目标服务器压缩内容
        "normalizeUri" : true, //确定客户端是否应规范请求中的URI
        "headers" : [] //请求头信息
    },
    "link" : {
        "startUrl" : "https://www.xxxx.com.cn/xxxx/css3_intro.asp", //起始链接,多个起始链接之间用半角逗号隔开
        "rules" : [  // 链接的提取规则,正则表达式
            "/**"
        ]
    },
    "content" : {
        "extractUrl" : "https://www\\.xxxx\\.com\\.cn/.+\\.asp", //内容页url的规则,即只有该规则的网页内容才会被提取,多个规则用半角逗号隔开
        "contents" : [  // 爬虫内容提取项
            {
                "name" : "介绍",//内容提取项名字
                "filedName" : "intro",//内容提取项代码,必须为数字或字母
                "descp" : "资源的简单介绍信息",//内容提取项描述
                "rules" : [ //提取项提取规则
                    {
                        "rule" : "XPATH", //提取器的类型,这里表示使用XPATH提取器
                        "param1" : "//p/text()",//XPATH提取表达式
                        "param2" : "",
                        "sort" : 1 //提取器的作用顺序,在同一组提取项提取规则里序号必须唯一
                    }, 
                    {
                        "rule" : "REPLACE",//提取器的类型,这里表示使用替换提取器
                        "param1" : "[@<yishui>@]", //替换提取器的第一个参数
                        "param2" : ".",  //替换提取器的第二个参数
                        "sort" : 2 //提取器的作用顺序,在同一组提取项提取规则里序号必须唯一
                    }
                ]
            }, 
            {
                "name" : "名字",//内容提取项名字
                "filedName" : "name",//内容提取项代码,必须为数字或字母
                "descp" : "资源的名字",//内容提取项描述
                "rules" : [ //提取项提取规则
                    {
                        "rule" : "XPATH",//提取器的类型,这里表示使用XPATH提取器
                        "param1" : "//h1/text()",//XPATH提取表达式
                        "param2" : "",
                        "sort" : 1 //提取器的作用顺序,在同一组提取项提取规则里序号必须唯一
                    }
                ]
            }, 
            {
                "name" : "资源类型",//内容提取项名字
                "filedName" : "scope",//内容提取项代码,必须为数字或字母
                "descp" : "资源的类型,K12, HE, VE",//内容提取项描述
                "rules" : [ //提取项提取规则
                    {
                        "rule" : "CONSTANT",//提取器的类型,这里表示使用常量提取器
                        "param1" : "VE", //常量提取器参数,表示经过该提取器的输出数据始终 为VE
                        "param2" : "",
                        "sort" : 1 //提取器的作用顺序,在同一组提取项提取规则里序号必须唯一
                    }
                ]
            }, 
            {
                "name" : "学科",//内容提取项名字
                "filedName" : "subject",//内容提取项代码,必须为数字或字母
                "descp" : "xxxx网站的学科,默认手动设置为 电子信息",//内容提取项描述
                "rules" : [ //提取项提取规则
                    {
                        "rule" : "CONSTANT",//提取器的类型,这里表示使用常量提取器
                        "param1" : "电子信息",//常量提取器参数,表示经过该提取器的输出数据始终为 电子信息
                        "param2" : "",
                        "sort" : 1 //提取器的作用顺序,在同一组提取项提取规则里序号必须唯一
                    }
                ]
            }, 
            {
                "name" : "来源",//内容提取项名字
                "filedName" : "origin",//内容提取项代码,必须为数字或字母
                "descp" : "数据信息的来源,默认设置为 xxxx 在线教程",//内容提取项描述
                "rules" : [ //提取项提取规则
                    {
                        "rule" : "CONSTANT", //提取器的类型,这里表示使用常量提取器
                        "param1" : "xxxx 在线教程", //常量提取器参数,表示经过该提取器的输出数据始终为 xxxx 在线教程
                        "param2" : "",
                        "sort" : 1 //提取器的作用顺序,在同一组提取项提取规则里序号必须唯一
                    }
                ]
            }
        ]
    }
}

注意事项

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

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

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

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

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

Last Updated: 1/6/2020, 9:10:45 PM