访问频率限制
为了更稳定地使用我们的服务,建议接口访问频率不超过20次/秒,访问过快有可能会收到429的状态码而导致访问失败,此时请降低访问频率到20次/秒以下或者更低。
我们建议以平稳的频率访问接口(例如1次/秒),不要在短时间内集中高频访问(例如在前1秒内访问了20次)。
提示:实际上我们采用了【漏桶算法】来限制访问:初始限制为20次每秒,桶大小为5秒,如果你n(n<=5)秒内没有访问接口,则频率限制宽限为n*20次每秒,即5秒内的最大访问量为100次,你可以在某个5秒内的任一秒内访问100次,但是其他4秒内则均不可访问,直到下个5秒开始。
特殊状态
以下接口正常情况下返回的状态码为200,若返回非200状态码请移步通用状态码参考来尝试解决问题。
2.1.
获取任务组信息
2.1.1.得到该用户所有的任务组
请求
响应
用户任务组Json元素的数组格式和状态信息
信息格式
application/json, text/json
示例数据
{
"data": [
{
"taskGroupId": 1,
"taskGroupName": "示例组1"
},
{
"taskGroupId": 2,
"taskGroupName": "示例组2"
}
],
"error": "success",
"error_Description": "操作成功"
}
2.2.
任务操作
2.2.1.获取任务组中的任务
请求
请求包含信息
参数名称描述备注
taskGroupId
任务组Id
请在 请求URL(reuquest url)中定义此参数。
响应
返回任务Id(taskId),任务名(taskName)和任务创建者(creationUserId)组成的Json元素的数组和状态信息
信息格式
application/json, text/json
示例数据
{
"data": [
{
"taskId": "337fd7d7-aded-4081-9104-2b551161ccc8",
"taskName": "示例任务1",
"creationUserId": "5d1e4b3c-645c-44ab-ac0e-bfa9ad600ece"
},
{
"taskId": "4adf489b-f883-43fa-b958-0cfde945ddb7",
"taskName": "示例任务2",
"creationUserId": "5d1e4b3c-645c-44ab-ac0e-bfa9ad600ece"
}
],
"error": "success",
"error_Description": "操作成功"
}
2.2.2.批量获取任务状态
此接口可获取多个任务的运行状态。
请求
请求包含信息
参数名称描述备注
taskIdList
Json数组格式的taskId列表
请在 请求主体(request body)中定义此参数。
信息格式
application/json, text/json
示例数据
{
"taskIdList": [
"337fd7d7-aded-4081-9104-2b551161ccc8",
"4adf489b-f883-43fa-b958-0cfde945ddb7"
]
}
响应
任务状态信息(其中status定义为:运行中 = 0,已停止 = 1,已完成 = 2,待运行 = 3,未执行 = 5 )
信息格式
application/json, text/json
示例数据
{
"data": [
{
"taskId": "337fd7d7-aded-4081-9104-2b551161ccc8",
"taskName": "示例任务1",
"status": 1
},
{
"taskId": "4adf489b-f883-43fa-b958-0cfde945ddb7",
"taskName": "示例任务2",
"status": 2
}
],
"error": "success",
"error_Description": "操作成功"
}
2.2.3.获取任务规则流程步骤的参数值
此接口可以获取任务规则某流程步骤的参数值,目前支持【打开网页】的Url(navigateAction1.Url)、【输入文本】的文本值(enterTextAction1.Text)、【循环】的文本列表(loopAction1.TextList)和Url列表(loopAction2.UrlList)的参数值获取。
请求
请求包含信息
参数名称描述备注
taskId
任务ID
请在 请求URL(reuquest url)中定义此参数。
name
属性名(支持navigateAction1.Url, enterTextAction1.Text, loopAction1.UrlList/TextList)
请在 请求URL(reuquest url)中定义此参数。
响应
步骤的参数值集合和状态信息
信息格式
application/json, text/json
示例数据
{
"data": [
"http://www.bazhuayu.com/",
"http://www.skieer.com/"
],
"error": "success",
"error_Description": "操作成功"
}
2.2.4.更新任务规则流程参数值
此接口可更新任务规则流程步骤的参数值,目前支持更新【打开网页】的Url(navigateAction1.Url)、【输入文本】的文本值(enterTextAction1.Text)、【循环】的文本列表(loopAction1.TextList)和Url列表(loopAction2.UrlList)。
注意:对于Url和文本值请直接使用字符串类型:"value":"navigateAction1.Url",对具有N个项的文本列表或Url列表的值(value),请使用以逗号分隔的数组类型:"value":["text1","text2","text3",...,"textN"]。
请求
请求包含信息
参数名称描述备注
ruleParaInfo
任务流程的参数信息(支持navigateAction1.Url, enterTextAction1.Text, loopAction1.UrlList/TextList)
请在 请求主体(request body)中定义此参数。
信息格式
application/json, text/json
示例数据
{
"taskId": "337fd7d7-aded-4081-9104-2b551161ccc8",
"name": "loopAction2.TextList",
"value": "['八爪鱼','视界信息']"
}
响应
更新成功与否
信息格式
application/json, text/json
示例数据
{
"error": "success",
"error_Description": "操作成功"
}
2.2.5.在任务规则循环列表中添加新项
此接口可在任务规则循环列表中添加新项,目前支持添加【循环】的文本列表和Url列表。
注意:对文本列表和Url列表的参数值(value),请使用格式["text1","text2","text3",...,"textN"]来表示列表的N个项。
请求
请求包含信息
参数名称描述备注
ruleParaInfo
任务规则的某循环的参数信息
请在 请求主体(request body)中定义此参数。
信息格式
application/json, text/json
示例数据
{
"taskId": "4adf489b-f883-43fa-b958-0cfde945ddb7",
"name": "loopAction1.UrlList",
"value": "['http://www.bazhuayu.com/', 'http://www.skieer.com/']"
}
响应
添加成功与否
信息格式
application/json, text/json
示例数据
{
"error": "success",
"error_Description": "操作成功"
}
2.2.6.启动任务
请求
请求包含信息
参数名称描述备注
taskId
任务ID
请在 请求URL(reuquest url)中定义此参数。
响应
启动状态(1:成功,2:任务正在执行中,5:任务规则配置不正确,6:无权使用,100:其他错误)
信息格式
application/json, text/json
示例数据
{
"data": 1,
"error": "success",
"error_Description": "操作成功"
}
2.2.7.停止任务
请求
请求包含信息
参数名称描述备注
taskId
任务ID
请在 请求URL(reuquest url)中定义此参数。
响应
停止成功与否
信息格式
application/json, text/json
示例数据
{
"error": "success",
"error_Description": "操作成功"
}
2.2.8.清空任务数据
请求
请求包含信息
参数名称描述备注
taskId
任务ID
请在 请求URL(reuquest url)中定义此参数。
响应
清空任务数据成功与否
信息格式
application/json, text/json
示例数据
{
"error": "success",
"error_Description": "操作成功"
}
2.3.
导出任务数据
2.3.1.导出一批任务数据
此接口可导出任务未导出过的数据,导出成功后将数据标记为【正在导出】(而非【已导出】)状态,故可多次调用此接口导出同一批数据,在你确认数据被正确接收后再调用【标记数据为已导出状态】接口即可。
注意:若在导出数据时发生了意外(比如网络中断),请再次调用此接口重新导出未成功传输的这批数据(不记录断点)。
请求
请求包含信息
参数名称描述备注
taskId
任务Id
请在 请求URL(reuquest url)中定义此参数。
size
数据条数(范围:[1,1000])
请在 请求URL(reuquest url)中定义此参数。
响应
任务数据和状态信息
信息格式
application/json, text/json
示例数据
{
"data": {
"total": 100000,
"currentTotal": 4,
"dataList": [
{
"词条": "深圳视界",
"简介": "领先的信息化解决方案提供商,致力于企业级数据整合,网页数据采集,整理,分析和挖掘。"
},
{
"词条": "八爪鱼",
"简介": "它彻底改变了大家对爬虫和采集器的认知,让网页数据采集变得前所未有的简单。"
},
{
"词条": "数多多",
"简介": "致力于打造大数据共享与交易平台。"
},
{
"词条": "微图",
"简介": "一款简单易用的数据分析及可视化工具,支持自然语言分析及文本挖掘。"
}
]
},
"error": "success",
"error_Description": "操作成功"
}
2.3.2.标记数据为已导出状态
当调用【导出一批任务数据】导出某任务一批数据后,这批数据状态从【未导出】变为【正在导出】,调用此接口会将该任务当前所有【正在导出】状态的数据更新为【已导出】状态。
注意:请确认通过【导出一批任务数据】(api/notexportdata/gettop)接口返回的结果被正确完整接收后再调用此接口。
请求
请求包含信息
参数名称描述备注
taskId
任务Id
请在 请求URL(reuquest url)中定义此参数。
响应
是否更新成功
信息格式
application/json, text/json
示例数据
{
"error": "success",
"error_Description": "操作成功"
}
2.4.
获取任务数据
2.4.1.根据起始偏移量获取任务数据
此接口根据数据起始偏移量(offset)和请求数据量获取任务数据,初始请求请将偏移量设置为0(offset = 0),数据量size ∈[1,1000],每次通过此接口请求数据返回的偏移量(offset > 0)可以作为读取下一批数据的起始偏移量。例如某任务有1000条数据, 第一次调用offset = 0, size = 100,则将会返回任务的头100条数据,以及下一次的起始偏移量offset = x(x不一定等于100)。第二次调用时请求参数设置为offset = x,size = 100,则返回任务的第101-200条数据,以及下一次起始偏移量offset=x1,然后用x1作为下次的起始偏移量,以此类推。
注意:此接口只用来读取数据,不会影响数据的导出状态,有关导出状态的详细介绍请参考【标记数据为已导出状态】。
请求
请求包含信息
参数名称描述备注
taskId
任务Id
请在 请求URL(reuquest url)中定义此参数。
offset
数据偏移量,当offset小等于0时,则从起始位置读取任务数据
请在 请求URL(reuquest url)中定义此参数。
size
要获取的数据量(范围:[1,1000])
请在 请求URL(reuquest url)中定义此参数。
响应
任务数据和状态信息
信息格式
application/json, text/json
示例数据
{
"data": {
"offset": 4,
"total": 100000,
"restTotal": 99996,
"dataList": [
{
"词条": "深圳视界",
"简介": "领先的信息化解决方案提供商,致力于企业级数据整合,网页数据采集,整理,分析和挖掘。"
},
{
"词条": "八爪鱼",
"简介": "它彻底改变了我对爬虫和采集器的认识,让网页数据采集变得前所未有的简单。"
},
{
"词条": "数多多",
"简介": "致力于打造大数据共享与交易平台。"
},
{
"词条": "微图",
"简介": "一款简单易用的数据分析及可视化工具,支持自然语言分析及文本挖掘。"
}
]
},
"error": "success",
"error_Description": "操作成功"
}