Firehose 实时监控网页——您可创建规则(Lucene 查询),所有被爬取且匹配该规则的网页将通过 SSE 流实时推送。适用于 Firehose API 或 firehose.com 的相关工作,包括管理 taps、编写规则与匹配查询,以及消费 SSE 匹配流。
Firehose API.是一项面向实际任务的技能,主要用于Firehose 实时监视网络;您在 a. tap 上创建规则( Lucene 查询), 每一张与规则匹配的爬行页面都会通过一个 : Server- Sent Events st 发送给该自带。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Firehose 实时监控全网内容。您可在tap上创建规则(Lucene 查询),所有被爬取且匹配该规则的网页,都会通过 Server-Sent Events(SSE)流实时推送到该 tap。(URL Watch —— 即对固定页面列表进行变更追踪 —— 是另一款独立产品;详见文末文档索引。)
本文档内联覆盖了 Stream API 的常见操作,使您无需额外请求即可直接执行。如需查阅完整的 Lucene 字段语义、全部分类/类型标签列表、校验契约(validate contract)、URL Watch 功能及计费说明,请参阅文末Documentation下的相关链接——该部分文档由线上文档自动生成,始终保持最新。
基础 URL:https://api.firehose.com。使用 Bearer Token 认证,共两类(均通过 Firehose 控制台发放):
fhm_):用于创建、列出、更新和删除 tap;不可管理规则或开启流式连接。fh_):用于管理某一个 tap 上的规则,并开启其 SSE 流。Authorization: Bearer fh_your_tap_token
tap 管理 —— 使用管理密钥:
| 方法 | 路径 | 用途 |
|---|---|---|
GET |
/v1/taps |
列出所有 tap;响应中包含每个 tap 的 token |
POST |
/v1/taps |
创建新 tap(返回其 token) |
GET PUT DELETE |
/v1/taps/:id |
获取、重命名、暂停/恢复或删除指定 tap |
暂停 tap:向 PUT /v1/taps/:id 发送 {"status":"paused"};恢复:发送 {"status":"active"}。
已暂停的 tap 会保留全部规则,但不再匹配任何页面,也不会推送更新;恢复后将重新激活所有规则,若超出当前套餐允许的活跃 tap 数量上限,则可能返回 422 错误。
删除 tap 是永久性操作:立即吊销该 tap 的 token,并删除其所有规则。请在删除前向用户确认——若仅需临时停用,请选择暂停而非删除。
规则与流式连接 —— 使用 tap token:
| 方法 | 路径 | 用途 |
|---|---|---|
GET |
/v1/rules |
列出当前 tap 的所有规则 |
POST |
/v1/rules |
创建一条规则 |
GET PUT DELETE |
/v1/rules/:id |
获取、更新或删除指定规则 |
POST |
/v1/validate |
保存前校验 Lucene 查询语法(/v1/validate/public:无需认证) |
GET |
/v1/stream |
开启匹配页面的 SSE 流 |
删除规则为永久性操作,匹配行为将立即停止。请在删除前向用户确认。
一条规则对象包含以下字段:value(Lucene 查询,必填)、tag(标签,可选,≤255 字符)、nsfw(布尔值,默认 false)、quality(布尔值,默认 true —— 自动过滤分页内容、分类/标签页及过期页面)。
查询语法基于Lucene ClassicQueryParser。默认字段为 added(插入差异块中的文本)。关键字段如下:
added、removed、added_anchor、removed_anchor、titleurl、domain、publish_time、page_category、page_type、languagedr —— Ahrefs Domain Rating(0–100)recent:h|d|mo —— 仅匹配发布于指定时间窗口内的页面支持的操作符:AND、OR、NOT、"exact phrases";在 url/domain 字段上还支持通配符(*、?)和正则表达式(/.../)—— 正则中需对 / 进行转义(即写为 \/,在 JSON 中应写作 \\/)。示例查询:
tesla AND language:en title:tesla AND page_category:"/News" AND recent:24h domain:techcrunch.com AND NOT url:*/tag/*
GET /v1/stream 推送四种事件类型:connected(连接建立)、update(命中匹配)、error(错误)、end(超时或达到限制 —— 需重连以继续接收)。其中 update 事件的 data 字段为 { tap_id, query_id, matched_at, document },其中 document 包含:url、title、publish_time、diff.chunks[]({ typ: "ins"|"del", text })、page_category[]、page_types[]、language、domain_rating 和 markdown。空值或缺失字段将被省略。
# 创建 tap(使用管理密钥)—— 响应中包含新生成的 tap token
curl -s -X POST -H "Authorization: Bearer $FIREHOSE_MANAGEMENT_KEY"
-H "Content-Type: application/json" -d '{"name":"Brand Mentions"}'
https://api.firehose.com/v1/taps
# 创建规则,随后列出该 tap 的所有规则(使用 tap token)
curl -s -X POST -H "Authorization: Bearer $FIREHOSE_TAP_TOKEN"
-H "Content-Type: application/json" -d '{"value":"ahrefs OR semrush","tag":"seo"}'
https://api.firehose.com/v1/rules
curl -s -H "Authorization: Bearer $FIREHOSE_TAP_TOKEN" https://api.firehose.com/v1/rules
# 开启匹配流(保持连接打开)
curl -N -H "Authorization: Bearer $FIREHOSE_TAP_TOKEN" https://api.firehose.com/v1/stream
/v1/rules —— 每个 tap 每分钟最多 60 次请求。
/v1/stream —— 每个 tap 每分钟最多 30 个并发连接。
常见错误码:401(Token 无效或缺失)、403(资源不属于当前组织)、404(未找到)、422(校验失败)、429(超出速率限制)。
完整文档。每个链接均为对应页面的原始 Markdown 文件 —— 可在任意页面 URL 后添加 .md 后缀访问。对于本文未涵盖的内容,请查阅相应页面。
fhm_)与 tap token(fh_)的区别、各自权限范围、API 基础 URL,以及如何在请求中以 Bearer Token 方式传递。update 事件中每个字段及所携带的页面文档结构,附带示例载荷与完整分类/类型标签列表。fh_)。建议按业务场景划分独立 tap,并掌握其创建与管理方法。fhm_),用于编程方式创建和管理 tap —— 如何生成、权限范围及适用场景。fhm_)通过 HTTP 执行 tap 的列表、创建、获取、更新与吊销操作,含各接口请求/响应结构定义。fhm_)通过 HTTP 执行 URL Watch 订阅的列表、创建、更新、删除及爬取差异读取操作。fh_)执行规则的增删改查及 SSE 流开启操作 —— 接口参考、参数说明与 tap 级别速率限制。/v1/validate/public)供试用页面调用。url: 过滤器误设、quality 过滤启用、recent: 时间窗口过窄、查询条件过于严格,或账户余额不足。401、402、429 等错误的原因,事件“跳过”现象的成因,以及各类异常(含连接意外中断)的恢复策略。llms.txt 文件及可安装的 API 技能(API skill)三种接入方式。完整文档单文件版:llms-full.txt。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习