页面采集
当页面地址与URL模式匹配之后,插件会自动执行采集规则,你无需任务操作,和你平常访问页面一样就行了。
创建采集规则
插件页面->页面采集->添加与编辑
URL匹配模式
星号*
可以替代任意字符,采集动态页面时,可用星号来代替页面参数。
【示例】匹配所有页面
http://*
https://*
【示例】完整路径匹配
https://jtc.lhyhq.cn/
【示例】泛化匹配
https://jtc.lhyhq.cn/?page=*
该模式会自动匹配页面地址为:
- https://jtc.lhyhq.cn/?page=1
- https://jtc.lhyhq.cn/?page=222
- https://jtc.lhyhq.cn/?page=aa
- https://jtc.lhyhq.cn/?page=xxx
- https://jtc.lhyhq.cn/?page=xxx&b=1
- ......
采集字段
基于CSS选择器来获取数据的,如果不懂可去查看视频教程或CSS选择器文档。
元素多选
如果你需要对多个相同
的元素进行采集,那么你在添加字段时,要先设置父元素
,然后给父元素设置为多选
,设置完成之后,在去设置子选择器
。
如果你要获取父元素本身
,那么可给子选择器值设置为parent
。
如果不懂的,可以去插件页面查看示例。
页面采集 -> 所有规则 -> 测试示例【多节点】
元素单选
与元素多选
区别就是别勾选多选
属性,或者使用系统默认值。
如果不懂的,可以去插件页面查看示例。
页面采集 -> 所有规则 -> 测试示例【单节点】
HTTP/HTTPS数据推送
数据格式
Array<{
[index: string]: any; // 采集到的数据
rule_uuid: string; // 采集规则ID
sha256: string; // 数据摘要,可用于过滤重复数据。
origin: string; // 数据来源网址
update_time: string; // 数据采集时间
}>
跨域配置
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Allow-Headers:Content-type,Content-Length,Authorization
跨域配置
import { Router } from "express";
const router = Router();
// 跨域配置
router.all("*", (req, res, next) => {
res.header("Access-Control-Allow-Methods", "POST,GET,OPTIONS");
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Content-type,Content-Length,Authorization");
if (req.method.toLowerCase() == "options") {
// 处理 预检请求
return res.sendStatus(200);
}
next();
});