葫芦流 · 场景
把抓取结果接到自有系统
创建工作流并运行,再用同一 API Key 读取数据集行。
控制台与 API 操作同一套工作流和数据集。请先学会控制台;当你自己的软件必须创建运行或拉取行时,再用这些调用。
熟悉 HTTP 与 curl 的开发者。非开发者可跳过本页。
-
01 创建密钥
控制台 → API 密钥 → 创建。复制以 hulu_ 开头的 token(只显示一次)。在 shell 里 export HULU_KEY。每个 /api/v1 请求需要头 Authorization: Bearer $HULU_KEY。
卡住时: 网站登录用的会话 cookie 不能用于 /api/v1。缺密钥或错误密钥返回 HTTP 401。
-
02 发现字段
用 POST /api/v1/workflows 创建一个暂停的空工作流,再 POST …/scrape-preview,带上样例 URL、mode 与 requirement。把想保留的字段列表拷进抓取节点配置。预览只发现字段,不写数据集。
卡住时: scrape-preview 需要你拥有的某个工作流 id(鉴权与账号范围)。保持暂停可避免试验时被调度。
-
03 写入图并运行
用 PATCH 写入 nodes 与 edges。边用 [{from, to}]。抓取须已含 fields。POST …/run 并等待结束。HTTP 502 时阅读 detail(字符串或带 node_runs 的对象)看哪步失败。
卡住时: 创建/更新可自由保存画布;运行需要剩余额度——HTTP 402 表示额度不足。
-
04 读取行
GET /api/v1/datasets 找 id,再 GET /api/v1/datasets/{id}/rows?page=1&limit=50。批量下载用 GET …/export?format=csv|json(有行数上限)。
卡住时: POST …/run 会等到结束。查看历史节点输出时用 GET …/runs/{id}。
curl
把 $ID、$DATASET_ID 换成前面接口返回的值。创建密钥时原始 token 只显示一次——请像密码一样保管。
export HULU_KEY=hulu_…
curl -X POST https://huluflow.com/api/v1/workflows \
-H "Authorization: Bearer $HULU_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Monitor","status":"paused","interval_minutes":1440,"graph":{"nodes":[],"edges":[]}}'
curl -X POST https://huluflow.com/api/v1/workflows/$ID/scrape-preview \
-H "Authorization: Bearer $HULU_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/list","mode":"list","requirement":"title, price, url"}'
curl -X PATCH https://huluflow.com/api/v1/workflows/$ID \
-H "Authorization: Bearer $HULU_KEY" \
-H "Content-Type: application/json" \
-d '{"graph":{"nodes":[{"id":"s1","type":"scrape","config":{"url":"https://example.com/list","mode":"list","fields":[{"name":"title","label":"title","type":"text"},{"name":"url","label":"url","type":"url"}]}},{"id":"st1","type":"store","config":{"dataset_name":"products","key_fields":["url"]}}],"edges":[{"from":"s1","to":"st1"}]}}'
curl -X POST https://huluflow.com/api/v1/workflows/$ID/run \
-H "Authorization: Bearer $HULU_KEY"
curl "https://huluflow.com/api/v1/datasets/$DATASET_ID/rows?page=1&limit=50" \
-H "Authorization: Bearer $HULU_KEY"
额度与失败
运行失败时,打开该次运行,阅读失败节点的 error 与输出——不要只看工作流列表猜测。URL 生成最多 500 条。抓取节点默认每次运行 20 个 URL(生成更多页时请提高 limit)。额度按套餐发放,运行按实际请求网页次数扣减。额度不足时运行返回 HTTP 402。
失败时先打开该次运行的节点 error,不要只看工作流列表。
接下来
完整状态码与字段表见 API 参考。