网站解决方案-主站检测任务提交接口
2024.09.02 17:59:14
网站解决方案-主站检测任务提交接口用于提交待检测的网站任务,包括一次性任务和循环检测任务。主站URL会作为爬虫入口进行资源爬取,可以通过设置网站的爬取深度和最大爬取资源数来控制单次任务的结束条件。
接口描述
该接口为网站任务检测提交接口,支持 HTTP 协议接口调用。支持一次性检测任务和周期性检测任务。
检测数据要求
待检测的网站必须是外网可以访问的,且网站的响应时间不能过长,否则容易导致页面爬取超时。
鉴权说明
易盾内容安全服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature 参数),以验证用户身份,防止信息被恶意篡改。目前支持 MD5,SHA1,SHA256,SM3 几种加密算法,详细信息,请参见接口鉴权。
接口地址
名称 | 值 |
---|---|
HTTP URL | https://as.dun.163.com/v1/crawler/job/submit |
HTTP Method | POST |
请求头
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由公共参数和业务参数两部分组成。
公共参数
公共参数包含密钥信息和参数签名信息,公共参数详细见请求公共参数。
业务参数
名称 | 类型 | 必填 | 最大长度 | 描述 |
---|---|---|---|---|
version | String | 是 | 4 | 接口版本号,可选值v1.0 |
dataId | String | N | 128 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
type | Number | Y | 1 | 任务类型。0:循环任务,在sliceStartTime和sliceEndTime时间范围内,每隔frequency数值时间就会执行一次检测任务;1:单次任务,只执行一次的任务 |
checkStrategy | Number | N | 1 | 检测策略,循环任务时生效。0:全量网页,1:首次全量后续更新网页 |
sliceStartTime | Number | N | 13 | 循环任务开始时间。当type=0时,参数必填且必须大于当天的开始时间 |
sliceEndTime | Number | N | 13 | 循环任务截止时间。当type=0时,参数必填且必须大于sliceStartTime |
frequency | Number | Y | 13 | 检测频率/多久爬取一次,单位毫秒。当type=0时,参数必填且不能小于一天 |
siteUrl | String | Y | 1024 | 主站URL,网站检测的入口,URL必须是外网可访问的,且以http开头 |
level | Number | Y | 1 | 爬虫深度/网站层级。1代表一层,2代表二层,以此类推,-1代表无限层 |
maxResourceAmount | Number | Y | 500000 | 单次任务周期内爬取页面的最大数量(如果是循环任务,则代表本次任务周期内的最大爬取数量)。maxResourceAmount和level用于控制任务什么时候结束,两个条件只要满足一个,任务就会结束,否则会爬取整个网站,直到所有页面都爬取完毕才退出任务 |
checkFlags | Array | N | 检测内容, 默认为1和2。1-检测文本,2-检测图片,4-检测点播音频,5-检测文档附件,6-检测点播音视频 | |
callbackUrl | String | N | 1024 | 离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
siteName | String | N | 64 | 网站名称 |
config | Obejct | N | 1024 | 音视频截帧高级设置,config为json数组格式,提交时转换为string类型 |
∟ type | String | Y | 10 | 类型,audiovideo:音视频 |
∟ config | Obejct | N | 128 | 检测数据配置 |
∟ scFrequency | Number | N | 4 | 截图检测频率,默认5秒截图检测一次,可设置范围为0.5~60秒 |
∟ advancedFrequency | String | N | 128 | 高级截帧设置,此项填写,默认截帧策略失效,如{"durationPoints":[300,600],"frequencies":[1,5,10]} |
∟ durationPoints | Object[] | Y | 5 | 视频时长区间分割,单位为秒,数组最多5个 |
∟ frequencies | Object[] | Y | 6 | 视频时长区间对应的截帧频率,可设置范围为0.5~600秒,数组最多6个 |
userAgentMatchType | Number | N | 1 | 用户代理匹配类型。1:部分匹配,2:完全匹配。当入参userAgent时,此字段为必填 |
userAgent | String | N | 512 | 用户代理。当入参userAgentMatchType时,此字段为必填 |
focusList | Array | N | 102400 | 重点关注url(支持最多100条url)。url之间以逗号分隔,每个url要小于1024 |
urlFilters | Obejct[] | N | 网址匹配条件。可添加匹配条件不超过10个,每个匹配条件包含:匹配类型、匹配值。urlFilters为json数组格式,提交时转换为string类型 | |
∟ type | Number | Y | 1 | 网址匹配类型。1:前缀匹配,2:后缀匹配,3:模糊匹配。 |
∟ url | String | Y | 512 | 匹配值 |
请求体示例
{
"siteUrl": "https://xxx.com",
"secretKey": "xxx1",
"level": "-1",
"signature": "cf0b18c7250cb54ea513b176db67e5aa",
"secretId": "xxx2",
"signatureMethod": "MD5",
"sliceStartTime": "1633680287444",
"type": "0",
"version": "v1.0",
"nonce": "1633680308031",
"frequency": "86400000",
"maxResourceAmount": "100",
"dataId": "2a94fecca74d431a97ee8d4667a6d0de",
"sliceEndTime": "1633939487444",
"timestamp": "1633680308030"
}
响应
响应结果
根据配置的同步结果返回和异步结果不同,响应结果也有一定的区别,响应公共字段已省略,详细见响应公共字段
名称 | 类型 | 描述 |
---|---|---|
result | Object | 主站检测异步提交检测结果 |
∟ jobId | String | 本次请求数据任务Id,可以根据该标识查询数据最新结果 |
∟ dataId | String | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
响应体示例
{
"code": 200,
"msg": "ok",
"result": {
"jobId": 107062,
"dataId": "2a94fecca74d431a97ee8d4667a6d0de"
}
}
响应返回码
响应返回码见:响应返回码
示例代码
服务端 SDK 接入
推荐使用我们提供的服务端 SDK 进行接入(目前支持 Java 和 Go 两种语言),不但可以节省接入成本,实现更快速的集成,并享有灵活的请求配置选项,同时 SDK 内置了错误重试、熔断降级等功能,提升服务可用性。点击 服务端 SDK 接入指引 了解更多。