mcpField
L
lynx-web-search

lynx-web-search

github.com/zenobi-us生产力6843 次安装今天更新
代码仓库

关于 lynx-web-search

lynx-web-search 是一项使用 lynx 在命令行中搜索网页和读取页面文本的技能,适用于缺少专用网页工具时的文本处理。它也可将可读页面或原始源码保存到 /tmp。

主要功能

  1. 01通过多个搜索引擎查询网页
  2. 02以文本形式读取指定 URL
  3. 03将可读文本保存到 /tmp
  4. 04可选保存原始 HTML 源码

适用场景

  1. 01没有浏览器自动化工具时进行网页搜索
  2. 02获取纯文本页面内容用于分析或总结
  3. 03保存页面文本或源码以便后续查阅

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zenobi-us/dotfiles --skill lynx-web-search

安装后在 Claude Code 中输入/lynx-web-search确认已加载。

详细介绍

Lynx 网页搜索

概述

使用 lynx 作为快速的纯文本备用方案进行网页搜索和页面获取。

此技能专注于两项可重复执行的任务:

  1. 从终端使用搜索引擎
  2. 获取 URL 并将易读的文本转储保存到 /tmp

适用场景

  • 需要在 shell 中快速搜索网页,无需 GUI/浏览器自动化
  • 无法使用专用网页工具
  • 需要纯文本输出以便分析/总结
  • 需要将确定的产物保存到 /tmp

不适用场景:

  • 需要交互/登录流程的 JavaScript 密集型页面
  • 视觉测试或 DOM 检查(使用浏览器自动化工具)

快速参考

搜索引擎 URL 模板
搜索引擎URL 模板
Googlehttps://www.google.com/search?q=<query>
Bravehttps://search.brave.com/search?q=<query>&source=web
Binghttps://www.bing.com/search?q=<query>
Yahoohttps://search.yahoo.com/search?p=<query>
GitHubhttps://github.com/search?q=<query>&type=repositories
Reddithttps://www.reddit.com/search/?q=<query>
Reddit(JavaScript 较少的备用方案)https://old.reddit.com/search?q=<query>
man lynx 中的核心 lynx 标志
  • -dump:渲染易读文本并退出
  • -source:转储原始源代码并退出
  • -listonly:仅输出链接列表(适合提取 URL)
  • -accept_all_cookies:避免出现 Cookie 提示
  • -useragent=...:网站屏蔽默认行为时覆盖 UA

实现

1) 使用任意搜索引擎并将输出保存到 /tmp
engine="brave"          # google|brave|bing|yahoo|github|reddit|oldreddit
query="lynx cli usage"
q=$(python - <<'PY' "$query"
import sys, urllib.parse
print(urllib.parse.quote_plus(sys.argv[1]))
PY
)

case "$engine" in
  google)    url="https://www.google.com/search?q=$q" ;;
  brave)     url="https://search.brave.com/search?q=$q&source=web" ;;
  bing)      url="https://www.bing.com/search?q=$q" ;;
  yahoo)     url="https://search.yahoo.com/search?p=$q" ;;
  github)    url="https://github.com/search?q=$q&type=repositories" ;;
  reddit)    url="https://www.reddit.com/search/?q=$q" ;;
  oldreddit) url="https://old.reddit.com/search?q=$q" ;;
  *) echo "Unknown engine: $engine" >&2; exit 2 ;;
esac

out="/tmp/lynx-search-${engine}-$(date +%Y%m%d-%H%M%S).txt"
lynx -accept_all_cookies -dump "$url" | tee "$out"
printf "\nSaved: %s\n" "$out"
2) 获取指定 URL 并将易读的文本转储保存到 /tmp
url="https://example.com"
out="/tmp/lynx-page-$(date +%Y%m%d-%H%M%S).txt"
lynx -accept_all_cookies -dump "$url" > "$out"
printf "Saved readable dump: %s\n" "$out"
3) 可选:将原始 HTML/源代码保存到 /tmp
url="https://example.com"
out="/tmp/lynx-source-$(date +%Y%m%d-%H%M%S).html"
lynx -source "$url" > "$out"
printf "Saved source dump: %s\n" "$out"

常见错误

  • 忘记对 URL 编码:多词查询应使用 urllib.parse.quote_plus
  • 以为 Google 在文本模式下总能正常工作(通常会被屏蔽/触发 JavaScript 验证)
  • 被屏蔽时只使用一个搜索引擎:改用 Brave/Bing/Yahoo/GitHub/old Reddit 重试
  • 不保存输出:始终写入 /tmp/lynx-*.txt,以便追溯
  • 期待获取 JavaScript 渲染的内容:lynx 无法满足此需求;动态页面请使用浏览器自动化

评论

支持 Markdown