Install
openclaw skills install @garisonli/scout-anti-crawlopenclaw skills install @garisonli/scout-anti-crawl六层 Fetcher 自动降级,一条命令搞定 99% 网站的反爬机制。
AI Agent 会写代码、用工具,但一碰到反爬网站就歇菜。Cloudflare、验证码、JS渲染,随便哪个都能把 Agent 卡死。这个 Skill 让 Agent 一条命令突破这些障碍。
# 抓取静态页
scout.py https://example.com
# 抓取并提取纯文本
scout.py https://example.com --text
# 搜狗微信搜索
scout.py --search "AI视频"
# 保存到文件
scout.py https://example.com --save output.html
# 指定从第几层开始(跳过前几层)
scout.py https://example.com --min-layer 5
FetcherDynamicFetcherStealthyFetcher--stealth):Canvas / WebGL / AudioContext 指纹随机化~/.local/bin/obscura,v0.1.9,Apache-2.0)POST /v1/scrapes(旧端点 /v1/request 已废弃)scout.py 的 fetch_olostep() 函数中scout.fetch(url)
├─ ① Fetcher(快速 HTTP) → 成功?返回结果
├─ 失败?→ ② DynamicFetcher(浏览器渲染) → 成功?返回结果
├─ 失败?→ ③ StealthyFetcher(隐身伪装) → 成功?返回结果
├─ 失败?→ ④ Obscura(Rust隐身浏览器) → 成功?返回结果
├─ 失败?→ ⑤ Olostep API(住宅代理兜底) → 成功?返回结果
└─ 失败?→ ⑥ Firecrawl(AI智能抓取) → 成功?返回结果
失败?返回错误
# 已在 scout.py 的 fetch_olostep() 中内置
OLOSTEP_API_KEY = "olostep_gGm6Y10wZgQpHKQsmqoaZaU24SHKkfPHMNef"
# API 参考
curl -s -X POST "https://api.olostep.com/v1/scrapes" \
-H "Authorization: Bearer $OLOSTEP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url_to_scrape": "https://example.com",
"formats": ["html"],
"wait_before_scraping": 3000
}'
from scout import fetch_olostep
html = fetch_olostep("https://example.com")
from scout import search_wechat
results = search_wechat("AI视频", max_results=8)
for r in results:
print(r["title"], r["account"], r["link"])
~/.local/bin/obscura,v0.1.9)firecrawl)skills/scout-anti-crawl/scout.py