爬虫接口

获取爬虫列表

获取账号下的爬虫列表。

接口路径

crawler/list

参数

参数 参数说明
page 获取第几页的应用,默认值1
page_size 每页多少个,默认值50

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"list": [
{
"app_id": 887995,
"name": "大众点评商家爬虫",
"info": "",
"type": "crawler",
"status": "init",
"time_create": 1515574627
},
{
"app_id": 887448,
"name": "rest创建爬虫",
"info": "测试接口创建爬虫",
"type": "crawler",
"status": "paused",
"time_create": 1515505215
},
{
"app_id": 886129,
"name": "微信文章[多公众号爬取]采集爬虫",
"info": "",
"type": "crawler",
"status": "init",
"time_create": 1515389022
}
],
"page": 1,
"total": 130
}
}

创建爬虫

创建一个爬虫。

接口路径

crawler/create

参数

参数 参数说明
app_name 爬虫应用名称,无默认值,必需
app_info 爬虫应用描述,无默认值,可选
code 爬虫应用代码的base64编码,无默认值,必需

返回示例

{
"code": 0,
"reason": "创建成功",
"data": {
"app_id": 887448,
"name": "rest创建爬虫",
"status": "init",
"time_create": 1515505215
}
}

删除爬虫

删除指定爬虫。
注意:爬虫删除后,爬取结果无法恢复,请谨慎调用

接口路径

crawler/<爬虫ID>/delete

参数

返回示例

{
"code": 0,
"reason": "删除成功"
}

复制爬虫

复制指定爬虫。

接口路径

crawler/<爬虫ID>/copy

参数

返回示例

{
"code": 0,
"reason": "复制成功",
"data": {
"app_id": 887448,
"source_id": 887449
}
}

修改爬虫信息

修改指定爬虫的信息,包括爬虫名和爬虫简介。

接口路径

crawler/<爬虫ID>/edit

参数

参数 参数说明
app_name 爬虫应用名称,不设置则不修改
app_info 爬虫应用描述,不设置则不修改

返回示例

{
"code": 0,
"reason": "修改成功"
}

设置爬虫自定义项

修改爬虫的自定义设置。

接口路径

crawler/<爬虫ID>/config/custom

参数

参数 参数说明
自定义参数 每个爬虫可设置的自定义项不同

可设置的自定义项在各个爬虫的应用设置-自定义设置-"点击查看RESTful接口的自定义设置参数"进行查看。

不同类型的自定义项,需要post的参数格式不一样,具体说明如下:

数据类型 示例
布尔类型 crawlStore=true
数字 pageNum=10
字符串 productUrl=https://item.jd.com/3724805.html
数组 keywords=["男装","女装"]

注意:上表示例为了便于识别,实际POST参数时需要utf8 urlencode

返回示例

{
"code": 0,
"reason": "设置成功"
}

启动爬虫

启动指定爬虫。

接口路径

crawler/<爬虫ID>/start

参数

此接口参数比较多,分三个模块说明,使用节点数、启动模式和定时设置。

使用节点数:

参数 参数说明
node 使用节点数,默认值1

启动模式:

参数 参数说明
follow_new 重新爬取数据。默认值true
follow_change 更新爬取结果里的数据。默认值false
dup_type 遇到爬取结果里的数据如何处理,分三种:unspawn表示停止发现新链接,skip表示跳过继续往后爬,change表示更新此数据。默认值skip
change_type 如何更新爬取结果里的数据,分两种:insert表示保留原数据,插入一条新版本,update表示更新原数据。默认值insert

定时设置:

参数参数说明
timer_type定时方式,分四种:once表示爬取一次,daily表示每天定时爬取,weekly表示每周定时爬取,cyclically表示实时循环爬取。默认值once
timer_type为once时的参数
once_date_start启动日期,格式2018-01-10
time_start启动时间,格式10:00
time_end停止时间,格式12:00。不传表示会一直运行至结束。
timer_type为daily时的参数
date_start有效期开始日期,格式2018-01-10
date_end有效期结束时间,格式2018-02-01。date_start与date_end都不传表示不限期限。
time_start开始时间,格式10:00
time_end结束时间,格式23:00。不传表示一直运行到爬虫结束。
timer_type为weekly时的参数
date_start与上面的data_start相同
date_end与上面的date_end相同
weekly_day[]星期几运行爬虫,数组形式的参数,可以同时传多个,星期一对应数字1。比如要设置星期一和星期日,参数为weekly_day[]=1&weekly_day[]=7
time_start与上面的time_start相同
time_end与上面的time_end相同
timer_type为cyclically时的参数
date_start与上面的data_start相同
date_end与上面的date_end相同
duration持续运行时长,可设置6个整数值,1-十分钟,2-半个小时,3-一个小时,4-两个小时,5-三个小时,6-五个小时。不传表示不限制,运行到爬虫结束。
interval两次运行的间隔时长,可设置6个整数值,1-十分钟,2-半个小时,3-一个小时,4-六个小时,5-十二个小时,6-不间隔。默认值5

返回示例

{
"code": 0,
"reason": "启动成功",
"data": {
"status": "starting"
}
}

停止爬虫

停止指定爬虫。

接口路径

crawler/<爬虫ID>/stop

参数

返回示例

{
"code": 0,
"reason": "停止成功",
"data": {
"status": "stopping"
}
}

暂停爬虫

暂停指定爬虫。

接口路径

crawler/<爬虫ID>/pause

参数

返回示例

{
"code": 0,
"reason": "暂停成功",
"data": {
"status": "pausing"
}
}

继续爬虫

恢复运行指定爬虫。

接口路径

crawler/<爬虫ID>/resume

参数

参数 参数说明
node 使用节点数,默认值1

返回示例

{
"code": 0,
"reason": "继续成功",
"data": {
"status": "resuming"
}
}

获取爬虫状态

获取指定爬虫状态。

接口路径

crawler/<爬虫ID>/status

参数

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"status": "running"
}
}

获取爬虫速率

获取指定爬虫速率。

接口路径

crawler/<爬虫ID>/speed

参数

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"speed": 43.1
}
}

修改爬虫节点

增加或减少指定爬虫所使用的节点。

接口路径

crawler/<爬虫ID>/node

参数

参数 参数说明
node_delta 增加或减少多少节点,大于0表示增加,小于0表示减少,不能为0

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"node_running": 2,
"node_left": 18
}
}

获取数据信息

获取爬虫对应的数据源信息。

接口路径

crawler/<爬虫ID>/source

参数

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"app_id": 887449,
"type": "source",
"count": 418
}
}

清空爬虫数据

清空爬虫的爬取结果。
注意:爬取结果清空后无法恢复,请谨慎调用

接口路径

crawler/<爬虫ID>/source/clear

参数

返回示例

{
"code": 0,
"reason": "数据已清空"
}

删除爬虫的单条数据

删除指定data_id的数据。

接口路径

crawler/<爬虫ID>/source/<数据ID>/delete

参数

返回示例

{
"code": 0,
"reason": "操作成功,已删除ID为664的数据"
}

删除爬虫数据

删除爬虫N天前爬到的数据。
注意:此接口调用后会立即返回,删除数据在后台进行。此操作不可取消,爬取结果删除后无法恢复,请谨慎调用

接口路径

crawler/<爬虫ID>/source/delete

参数

参数 参数说明
days 删除多少天前的数据,无默认值,最小为1

返回示例

{
"code": 0,
"reason": "操作成功,正在后台删除15天前的数据"
}

获取删除爬虫数据执行状态

接口路径

crawler/<爬虫ID>/source/delete/status

请求参数

返回参数

参数 参数说明
status 删除爬虫数据执行状态:”none”:默认状态,未执行删除数据操作,”deleting”:爬虫正在删除数据中,”done”:数据已删除完成
total 待删除数据的总条数
row 当前已删除多少条数据

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"row": 5000,
"total": 87000,
"status": "deleting"
}
}

设置爬虫代理

修改爬虫使用的代理。

接口路径

crawler/<爬虫ID>/config/proxy

参数

参数 参数说明
proxy_type 代理IP类型,0-不使用代理IP,3-企业级专属代理IP,4-海外私密代理IP

返回示例

{
"code": 0,
"reason": "设置成功"
}

设置爬虫遵守Robots协议

设置爬虫遵守Robots协议,爬虫需重启才能生效。

接口路径

crawler/<爬虫ID>/config/robots/agree

参数

返回示例

{
"code": 0,
"reason": "设置成功,该爬虫将遵守Robots协议"
}

设置爬虫不遵守Robots协议

设置爬虫不遵守Robots协议,爬虫需重启才能生效。

接口路径

crawler/<爬虫ID>/config/robots/disagree

参数

返回示例

{
"code": 0,
"reason": "设置成功,该爬虫将不遵守Robots协议"
}

设置爬虫托管

修改指定爬虫的托管设置。

接口路径

crawler/<爬虫ID>/config/host

参数

参数 参数说明
host_type 托管类型,0-不托管,1-阿里云OSS,2-七牛云存储,3-神箭手,4-又拍云
image 是否托管图片类型的文件,true和非零数字都表示托管,不传表示不托管
text 是否托管文本类型的文件,值同上
audio 是否托管音频类型的文件,值同上
video 是否托管视频类型的文件,值同上
application 是否托管应用类型的文件,值同上

返回示例

{
"code": 0,
"reason": "设置成功"
}

获取Webhook设置

获取爬虫的Webhook设置。

接口路径

crawler/<爬虫ID>/webhook/get

参数

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"url": "http://webhook.shenjian.io/receive",
"events": [
"data.new",
"data.updated",
"msg.custom"
],
"gzip": false
}
}

删除Webhook

删除爬虫的Webhook设置。

接口路径

crawler/<爬虫ID>/webhook/delete

参数

返回示例

{
"code": 0,
"reason": "删除成功"
}

修改Webhook

修改爬虫的Webhook设置。

接口路径

crawler/<爬虫ID>/webhook/set

参数

参数 参数说明
url webhook的通知地址,需要是能外网访问的地址
data_new 新增数据是否发送webhook,true和非零数字都表示发送,不传表示不发送
data_updated 变动数据是否发送webhook,值同上
msg_custom 自定义消息是否发送webhook,值同上
gzip 是否对webhook数据进行gzip压缩,true和非零数字都表示压缩,不传表示不压缩

返回示例

{
"code": 0,
"reason": "设置成功"
}

获取爬虫自动发布状态

获取该爬虫对应数据源的自动发布状态。

接口路径

crawler/<爬虫ID>/autopublish/status

参数

返回示例

{
"code": 0,
"reason": "请求成功",
"data": {
"status": "stopped",
"message": "用户手动停止",
"time_stop": 1516449110
}
}

开启自动发布

开启该爬虫对应数据源的自动发布。

接口路径

crawler/<爬虫ID>/autopublish/start

参数

参数 参数说明
publish_id[] 发布项ID(发布项目前只能通过网页创建,暂时不开放通过接口创建)

返回示例

{
"code": 0,
"reason": "启动成功"
}

停止自动发布

停止该爬虫对应数据源的自动发布。

接口路径

crawler/<爬虫ID>/autopublish/stop

参数

返回示例

{
"code": 0,
"reason": "停止成功"
}