free-web-search-js

# SKILL.md

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "free-web-search-js" with this command: npx skills add ucsdzehualiu/free-web-search-js

SKILL.md


name: free-web-search-js description: Playwright 联网搜索,自动抓取内容,零 API Key version: 28.0.0 trigger_keywords:

  • 搜索
  • 查一下
  • 找一下
  • 最新消息
  • 新闻
  • 教程
  • 是什么
  • search
  • find tools:
  • name: search description: 搜索+自动抓取,国内Bing Playwright,海外DDG HTTP script: scripts/search.js parameters: query: type: string description: "搜索关键词" required: true max: type: integer description: "最大结果数,默认10,上限30" required: false region: type: string description: "区域: auto/cn/intl,默认auto按IP检测" required: false
  • name: fetch description: 给定URL抓取正文,HTTP优先失败自动headed兜底 script: scripts/fetch.js parameters: urls: type: string description: "要抓取的URL,多个用空格分隔" required: true max-len: type: integer description: "单页最大字符数,默认12000" required: false

free-web-search-js

一步式:search → Playwright 搜 → 自动抓内容 → 返回

架构

国内:
  Playwright 打开 Bing → 首页拿 cookie → 搜索框提交
  → 自动抓取 top 3 页面内容
  延迟:首次 3~6s(启动浏览器),后续复用更快

海外:
  纯 HTTP → DDG HTML 解析
  → 自动抓取 top 3 页面内容
  延迟:几百ms~1s

搜索引擎

引擎协议区域说明
Bing CNPlaywright 搜索框提交国内先访问首页拿 cookie,再搜索框输入提交
搜狗纯 HTTP国内--engine=sogou 可选,⚠ 无 cookie 易被反爬拦截,结果不稳定
DDG HTML Lite纯 HTTP海外html.duckduckgo.com

策略

区域搜索抓取
国内Bing CN (Playwright)自动抓前 3 条
海外DDG HTML自动抓前 3 条

IP 怎么判断

每次搜索时自动检测,三轮探测并行,谁先成功用谁:

轮次探测服务逻辑
第1轮myip.ipip.net / cip.cc国内可达优先
第2轮ipinfo.io / ipapi.co国际探测
第3轮试连 cn.bing.com能通大概率国内
兜底默认国内

出口 IP 走代理时可能误判,用 --region=cn--region=intl 手动指定。

去重

智能去重:域名 + 路径主干(忽略 www/m 子域、tracking 参数、尾部斜杠、.html 后缀)。

Bing 跳转 URL(bing.com/ck/)自动解码为直链。

抓取模式

搜索后自动抓取 top N 条 URL 内容(默认 3 条)。

层级方式速度说明
第1层轻量 HTTP + cheerio⚡ 秒出不启动浏览器
第2层Playwright headed🟡 慢完整浏览器,支持 JS 渲染

第1层增强:

  • JSON API 响应:自动检测 Content-Type 并提取结构化内容
  • JSON-LD:提取 <script type="application/ld+json"> 中的 articleBody/description
  • NEXT_DATA:提取 Next.js 嵌入数据
  • meta 标签:og:description / description 兜底
  • GBK 编码:自动检测并转换

安装

前置依赖(全部必装):

依赖说明大小/耗时
Node.js >= 18运行时
cheerioHTML 解析小,秒装
commanderCLI 参数解析小,秒装
iconv-liteGBK 编码转换小,秒装
playwright浏览器自动化(Bing 搜索 + 抓取兜底)~50MB
ChromiumPlaywright 专用浏览器~150MB,需几分钟下载

安装脚本自动检测网络区域,国内使用镜像源加速:

# Windows
powershell -File scripts/setup.ps1

# Linux/macOS
bash scripts/setup.sh

国内镜像:

  • npm: https://registry.npmmirror.com
  • Playwright/Chromium: https://npmmirror.com/mirrors/playwright

手动安装:

cd skills/free-web-search-js
npm install
npx playwright install chromium    # ~150MB,需几分钟

验证环境:node scripts/check-env.js

卸载:node scripts/uninstall.js

性能优化:浏览器守护进程

搜索和抓取可复用浏览器守护进程,提速约 70%

node scripts/browser-daemon.js &       # 启动
node scripts/browser-daemon.js --status # 状态
node scripts/browser-daemon.js --stop   # 停止

守护进程空闲 10 分钟自动退出。

用法

# 搜索(搜 + 自动抓前3条内容)
node scripts/search.js "白银价格"
node scripts/search.js "how to deploy docker" --max=5
node scripts/search.js "xxx" --region=cn
node scripts/search.js "xxx" --fetch=5          # 抓前5条
node scripts/search.js "xxx" --no-fetch         # 只搜不抓

# 单独抓取(给定 URL)
node scripts/fetch.js "https://example.com/page1" "https://example.com/page2"

已知限制

  • 国内首次搜索较慢:需启动 Chromium(3~6s),后续复用更快
  • Bing CN 即时答案不返回:天气、计算器等即时卡片不走 li.b_algo,搜索结果为 0
  • 搜狗 HTTP 不稳定:无 cookie 纯请求易被反爬拦截,结果可能为空(--engine=sogou 慎用)
  • 部分站点 HTTP 抓不到:需要 JS 渲染的页面——HTTP 失败会自动 headed 重试
  • 部分站点海外不可达:国内专属站点从海外访问可能超时
  • 代理干扰 IP 检测:出口 IP 走代理时可能误判区域,用 --region=cn/intl 手动指定
  • 海外引擎国内不可达:DDG 在国内被墙,国内策略不使用

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Ephemeral Media Hosting

自動削除機能付き一時メディアホスティングシステム

Registry SourceRecently Updated
General

Ethereum Read Only

Foundry castを使用したウォレット不要のオンチェーン状態読み取り

Registry SourceRecently Updated
General

OpenClaw Memory

Manage, optimize, and troubleshoot the OpenClaw memory system — MEMORY.md curation, daily logs (memory/YYYY-MM-DD.md), memory_search tuning, compaction survi...

Registry SourceRecently Updated
General

ImageRouter

Generate AI images with any model using ImageRouter API (requires API key).

Registry SourceRecently Updated
2.6K2dawe35