spider-api
本项目设计了一个通用的 api 爬虫,实现配置化爬取 api 数据的功能。
配置化请求接口
每个请求的参数,分为请求头参数、query 参数、请求体参数三类,这些参数均可配置。
配置表设计
字段名 |
字段类型 |
备注 |
id |
bigint |
表自增id |
api_id |
bigint |
api id |
method |
varchar |
HTTP 方法 |
url |
varchar |
请求链接 |
header |
jsonb |
header 参数模板 |
query |
jsonb |
query 参数模板 |
body |
jsonb |
body 参数模板 |
mapping |
jsonb |
标准参数与api参数映射字典 |
response |
jsonb |
标准参数与api参数映射字典 |
attributes |
jsonb |
标准参数与api参数映射字典 |
create_at |
timestamp |
创建时间 |
update_at |
timestamp |
更新时间 |
配置化的难点在于每个请求的参数,存在动态化情况。
- 如某些参数需要动态得从其他数据库中查询;
- 不同 api 对分页参数的定义不同;
对于动态参数,可以定义 header、query、body 这些参数的模板,静态参数直接配置,动态参数通过 SQL 查询。
spider-api
本项目设计了一个通用的 api 爬虫,实现配置化爬取 api 数据的功能。
配置化请求接口
每个请求的参数,分为请求头参数、query 参数、请求体参数三类,这些参数均可配置。
配置表设计
配置化的难点在于每个请求的参数,存在动态化情况。
对于动态参数,可以定义 header、query、body 这些参数的模板,静态参数直接配置,动态参数通过 SQL 查询。