快速开始
认识各个节点
本文档带你了解 Kspider 目前支持的节点,它的作用以及它的用法。
开始节点
TIP
流程的起点,流程的执行必须从这里开始
配置项 | 字段类型 | 字段描述 |
---|---|---|
最大线程数 | int | 配置该流程运行时的最大线程数,默认为 4 |
延时节点
TIP
流程执行到此延迟,一些场景需要等待一段时间,如等待页面加载完成
配置项 | 字段类型 | 字段描述 |
---|---|---|
延时时间 | int | 流程执行到此延迟多少毫秒后继续执行 |
备注节点
TIP
该节点用于备注描述,无其他意义
配置项 | 字段类型 | 字段描述 |
---|---|---|
无 | 无 | 无 |
函数节点
TIP
一些复杂场景,如计算、数据处理等
配置项 | 字段类型 | 字段描述 |
---|---|---|
函数表达式 | String | 可参考表达式语法 |
等待节点
TIP
等待此节点前的所有节点都执行完成后才继续执行
配置项 | 字段类型 | 字段描述 |
---|---|---|
无 | 无 | 无 |
循环节点
TIP
使用循环时需注意当有多个循环时会形成嵌套循环,必要时应与等待结束
节点配套使用
- :当此项有值(值为集合或数字)时,后续节点(包括本节点)会循环执行
- 循环变量:默认为
item
,与for(Object item : collections)
中的item
意义相同 - 循环下标:当循环时,会产生下标(从 0 开始)以该值存入变量中,与
for(int i =0; i < array.length;i++)
中的i
意义相同 - 开始位置:从该位置开始循环(从 0 开始)
- 结束位置:到该位置结束(-1 为最后一项,-2 为倒数第二项,以此类推)
输出节点(TODO)
TIP
该节点主要用于调试,测试时会把输出打印到页面中,另外也可以用来自动保存到数据库或文件(CSV)
输出全部参数:一般用来调试,可以输出所有变量到界面上
- :输出项的名字(输出方式为
数据库
时要与数据库表字段名
对应;输出方式为CSV
会作为表头
) - :输出的值,可以是常量,可以是表达式
配置项 | 字段类型 | 字段描述 |
---|---|---|
输出方式 | enum | 数据库、CSV、UI |
输出全部参数 | Boolean | 是否输出所有变量至 UI |
数据源 | int | 当输出方式 为数据库 时需要选择数据源 |
表名称 | String | 当输出方式 为数据库 时需要填写对应数据源内的表名称 |
文件路径 | String | 当输出方式 为CSV 时需要填写文件输出路径,默认存储路径${user.home}/kspider/files/${flowId}_${taskId}/${hash}.csv |
子流程节点
TIP
主要用于调用其他流程
配置项 | 字段类型 | 字段描述 |
---|---|---|
子流程 | int | 其他流程 ID |
SQL 节点(TODO)
TIP
主要用于与数据库交互(查询/修改/插入/删除等等) 该节点执行完毕时会产生rs
变量,selectInt/insert/update/delete 会返回int
类型,select 会返回List<Map<String,Object>>
,selectOne 返回Map<String,Object>
,insertofPk 返回主键值
配置项 | 字段类型 | 字段描述 |
---|---|---|
无 | 无 | 无 |
请求节点
TIP
该节点用于请求 HTTP/HTTPS 页面或接口
配置项 | 字段类型 | 字段描述 |
---|---|---|
无 | 无 | 无 |
变量节点
TIP
该节点为 KEY-VALUE 键值对,可以保存变量,也可以读取变量,也可以进行变量的运算,值可为表达式或具体的值,值最终赋值给变量供后续其他节点使用
配置项 | 字段类型 | 字段描述 |
---|---|---|
无 | 无 | 无 |
Selenium 节点
TIP
该节点可用于更高级的操作,其中可以使用 Selenium 模拟浏览器操作,如登录、输入、点击等,相关 API 可参考Selenium
配置项 | 字段类型 | 字段描述 |
---|---|---|
远程驱动地址 | String | Selenium 远程驱动地址,如:http://127.0.0.1:4444/wd/hub |
流程的执行过程
简单一句话概括就是流程会按照箭头的方向一直流转下去,个别节点会打断流转(箭头)或重复流转(循环)。