# 在 LaunchBar 中聚合搜索多个网站

> 本文公开全文。

原文：https://utgd.net/article/20591

“聚合搜索”，即只输入一次关键词，旋即在多个网站中进行搜索。最常见的就是“比价”工具，可以同时在京东、淘宝和亚马逊等网站进行搜索，以便货比三家。

如果只看 Google 或 Bing 的前几条结果，往往会挂一漏万、甚至被别有用心的广告牵着鼻子走；只要多搜索几个网站，不用费太大力气就能确保“检全率”和“检准率”，即减少遗漏的同时也尽可能保持客观、保证质量。类似“一次搜索多个网站”的需求，还常见于找书、查文献、搜专利、检索法律法规，等等，总之从日常娱乐到专业工作，都可以从聚合搜索中受益。

聚合搜索工具并不新奇，可惜通常以浏览器插件形式示人，一旦换个浏览环境（比如 macOS 用户常用的 Safari）或者在本地阅读文档，就与之无缘。本文将介绍一套基于自动化工具的聚合搜索方案，可以在任何网页和 App 中运行（除非某个网页禁止你选中文字），随时随地进行聚合搜索；文章相应部分还会分类列出图片、网盘、专利、法律等领域的常用搜索引擎，方便诸君直接套用。

- 聚合搜索 Automator 版

- 聚合搜索 LaunchBar 版

Automator 版可以选中关键词后在右键菜单中使用，而 LaunchBar 支持直接输入关键词或者通过 Instant Send 发送关键词。运行动作后，可以在弹出的列表中选择所需搜索引擎，此时可以按住 ‌⌘Command 后选中任意几项，也可以按下 ‌⌘Command\-A 选中所有搜索引擎，并在选中的网站进行搜索。

## 搜索的原理：URL

大多数搜索引擎（包括许多网站的站内搜索）都支持通过 URL 进行搜索。你可以找个网站，在里面随便搜点什么——比方说去豆瓣搜“正义联盟”——会发现，搜索结果页面的网址有所变化，变成了下面这样：

```
https://www.douban.com/search?q=正义联盟
```

你可以把上面这段 URL 复制到浏览器，同样可以在豆瓣中搜索“正义联盟”。把 正义联盟 换成别的关键词，同样可以使用上面这条 URL 进行（遇到空格等特殊字符需要进行 URL 编码，这部分工作将由自动化工具中完成）搜索。某些网页还会附带一根“尾巴”，通常是 ? 大头的一串“乱码”，它们通常用于设置界面语言、确定用户所在地区或者标明用户是从哪儿进入当前页面的，最典型的就是返利链接，你可以试着把这些“尾巴”剁掉、刷新一下，如果搜索结果不受影响，那就没有必要将其保留。

只要知道了一个搜索引擎或网站的搜索 URL，就相当于学会了一段随时随地召唤它的咒语；而收集了一定数量的搜索 URL 之后，聚合搜索也并无难度：不过是按照一个列表，挨个搜索打开一系列网页。一旦具备了“聚合搜索”的想象力，剩下只是编写自动化工具的工程细节。

### 适配不支持 URL 的网站

极少数网站不支持通过 URL 输入关键词，例如非常古老的政务网站、校园网站。这类网站也可以借用通用搜索引擎（例如 Google 或 Bing）的搜索语法，将搜索范围圈定在这些网站。以 Google 为例，使用搜索语法后的 URL 如下：

```
https://www.google.co.jp/search?q=site:网站+关键词
```

其中 网站 是目标站点的主域名，形如 网站名\.com假借通用搜索引擎的效果可能比直接在网站内搜索更好，因为通用搜索引擎往往支持模糊搜索，而部分上古网站甚至不允许少打一个 的 或者混用中英文标点符号。

### 常用搜索 URL 分享

知道搜索 URL 的原理并不等于能够马上熟练使用它们。收集 URL 本身就是一个体力活，没有“聚合”出一定数量的 URL，徒有自动化工具也难为无米之炊。本节分门别类介绍一些我在工作中常用的搜索引擎 URL，也欢迎诸君礼尚往来。

图片搜索类。以国外图库为主，一般只支持英文关键词。

- Pexels：https\://www\.pexels\.com/search/\*

- Unsplash：https\://unsplash\.com/s/photos/\*

- ICONFINDER：https\://www\.iconfinder\.com/search/?q=\*

- iConFont：http\://www\.iconfont\.cn/search/index?searchType=icon&q=\*

- freepik：https\://www\.freepik\.com/index\.php?goto=2&searchform=1&k=\*

网盘搜索类。这类网站随时可能会无法访问，建议日常遇到可以使用的搜索引擎后及时保存其 URL 至聚合搜索。网盘搜索这一话题可能有所争议，这里不谈高尚的道德，只是从技术中立的角度考虑，如果没有“付费获取链接”或“关注微信获取下载地址”等获利倾向明显的行为，单纯收录链接也无可厚非。

专利检索类。搜索和浏览通常是免费的，部分文件可能需要付费才能下载，这也体现了聚合搜索的优势，多搜几个网站、货比三家，也许就能发现免费文件、让你少掏一笔钱。

- Google Patents：https\://patents\.google\.com/?q=\*

- SooPAT：http\://www\.soopat\.com/Home/Result?SearchWord=\*

- TianYanCha：https\://zhuanli\.tianyancha\.com/search/\*

- ZhiChanLi：http\://news\.zhichanli\.com/search\.html?key=\*

- IPHouse v1：https\://v1\.iphouse\.cn/cases/list\.html?rawdata=\*

- BeijingIP：http\://search\.beijingip\.cn/search/search/result?s=\*

法律法规检索类。法律法规非常讲究时效性，搜到的任何文件都建议检查是否失效或者被修改，一个简单免费的方法是去 北大法宝数据库 中核实；另外，裁判文书网等网站需要帐号登录，直接通过 URL 搜索的意义不大，故不列出。

- 最高法司法解释：http\://www\.court\.gov\.cn/search\.html?content=\*

- 最高法裁判文书：http\://www\.court\.gov\.cn/wenshu\.html?keyword=&caseid=\*

- 法律法规数据库：http\://search\.chinalaw\.gov\.cn/SearchLawTitle?effectLevel=&SiteID=124&Query=\*

## 配置聚合搜索引擎

了解了搜索的原理，剩下的就是“工程性”工作，即解决输入关键词、编码中文、批量打开目标网站等细节。本文毕竟不是编程教学，故不一一解释代码枝节（想必也是无比枯燥……），直接转入自定义配置部分。

本文提供的动作分为 LaunchBar 版和 Automator 版，皆由代码写成，后者更是一整个的独立文件，只需通篇复制，遂能移植到其他自动化工具中（只要支持 Shell 或 Python 就能运行）。

### LaunchBar 版动作

LaunchBar 版将代码、搜索 URL 列表和网站名列表分开存储，方便模块化管理，可以在完全不改代码的前提下替换两份列表文件，就能生成一个新的聚合搜索动作。比方说，导入网盘搜索的列表文件，就得到了网盘专用的聚合搜索动作；替换上图片搜索的列表文件，则获得了图片搜索专用的聚合搜索。我制作了专利、法律、药品等专业领域的聚合搜索动作，便于在不同工作任务中一次性搜索对应领域的主要网站。

在 LaunchBar 动作的编辑界面（快捷键是 ‌⌥Option\-⌘Command\-E）可以看到“urlList\.txt”和“titleList”两份列表文件，分别存储搜索 URL 列表和网站名列表，其格式非常简单，只是一行一条数据、并保持两份列表中的数据每行之间一一对应，就能让自动化动作顺利读取其中的数据。URL 列表中的 \* 代表搜索关键词，取这一特殊符号能够尽可能和关键词区分开；另外，避免使用中文，AppleScript 会因此出现乱码。

可以往两份列表中继续添加搜索引擎数据，比如发现了一个新网站“IPHouse”（上文介绍的专利检索网站“IPHouse v1”之姊妹版，功能各有千秋），其搜索 URL 是 ‌https\://www\.iphouse\.cn/cases/list\.html?rawdata=\*，那么就可以将此 URL 和 IPHouse 分别添加到 URL 列表文件和网站名文件中（记得保持位置一致）。删除失效或过时的搜索引擎也一样，需要同时删除 URL 和对应网站名。

### Automator 版以及其他自动化工具

在操作上，Automator 版比 LaunchBar 稍微单调一些，需要选中关键词后再进行搜索。当然，你可以在各种自动化工具（包括 Automator）中加入一些要求输入的步骤，做出“搜索框”的效果。

LaunchBar 动作的本质是一个压缩包，因而可以这样分开存储代码文件和搜索引擎数据，互不打搅；Automator 版则需要将代码和数据写在一起，主要的差别还是在心理门槛上，可能会给不熟悉代码的读者一种“被推到解剖台前”的不适感。为了尽可能让代码易读易改，我用了一点嵌套各种脚本语言的技巧，让 URL 数据和网站名数据保持“一行一行”的效果，和直接写在文本文件中效果基本相同。

上图中高亮部分和单独的搜索引擎数据列表基本相同，只是每行前后多了双引号 "" 包裹，并且除了最后一行，每行结尾都有一个英文逗号 ,——本质上，上图高亮部分就是两串列表，只是写成相对易读的样式。配置 Automator 版搜索引擎数据的方式与 LaunchBar 版本如出一辙，同样注意顺序、避免中文并用 \* 表示关键词。

Automator 版不需要分成多个文件，因而可以轻松移植，只需将下图代码掐头去尾、复制出粉红色部分，就能复制到其他自动化工具中运行。个别工具需要对输入输出做一些衔接，这里无法一一覆盖，读者们如果不能解决，可以与我联系。

## 小结

使用聚合搜索的方式丰俭由人，既可以面向专业工作，辅助文件检索、专利搜索、法规查询、寻医问药；也大可用于比价购物、买票订座、借书租碟，添点生活趣味。

本文所介绍的方法对于这些使用场景一视同仁，适配不同的搜索场景只需修改、替换一下搜索引擎数据。搜索本无高下之分，只是给人方便而已。

---

[前往标准阅读页](https://utgd.net/article/20591?audience=web)
