[雕虫小技 02] 如何丰富你的上下文选单中的搜寻引擎
▋ 效果展示
在使用浏览器浏览网页的时候,我们经常会想即时地搜一下某个选中的关键字。虽然一般来说在上下文选单中都有类似于 Search on Google 之类的选项(取决于您浏览器的预设搜寻引擎),但如果我们想要搜的地方不是 Google 呢?如果是豆瓣图书,或者 IMDb? 有没有办法将这些预设好的搜寻引擎一股脑地塞到一个上下文选单的子选单中,就像下面一样?


幸运的是,这当然是可行的,而且只需简单配置。甚至,一些播放器,比如 PotPlayer, 也可以实现多候选项查词,效果如下。

▋ 怎么做
在 Firefox 上,安装 Context Search Origin 这款附加组件 (AMO 地址), 然后在浏览器中按一下 Alt 键唤出主选单,然后点选 Bookmarks > Show All Bookmarks, 在新弹出的窗口中,于左侧找到 ‘Bookmarks Menu’, 然后在其下新建一个子资料夹,将其命名为 ‘Searches’, 然后将下方列表中需要的搜寻引擎以「新建书签」的方式逐一添加到这个资料夹下,即可获得上方所示的效果。——或许你的 Search for 自选单会和你的其他附加组件一股脑地缀在下面,而非如图所示在上方——但这是没办法的事,要想重写 Firefox 的上下文选单非常麻烦(是的,你得手动重写,还是得以一种非常笨拙的方式),我在此并不想展开。
在 Chrome 上,安装 Context Menu Search (chrome web store 地址), 然后将下方列表中所需的搜寻引擎逐一添加到该扩展的设置页面中即可获得上方所示的效果。切记添加完了之后注意要点保存。
在 Microsoft Edge 上,则要安装 Simple = Select + Search (Edge Add-ons 地址), 然后将下方列表中所需的搜寻引擎逐一添加到该扩展的设置页面中即可获得类似 Chrome 的效果。
在 PotPlayer 上,在任意位置按下滑鼠辅键,点选 ‘Preferences…’, 在弹出来的窗口的左边,找到 ‘Subtitles’, 点开后找到 ‘Word Searching’ 便可以在右边添加需要的搜寻引擎了。

惟须注意的是,下方列表的地址中写作 %s 的部分,在添加 PotPlayer 的 Word Searching 引擎时,须改写为 %%SS. 以及,PotPlayer 在查词时,如果直接点击则默认使用排位第一的搜寻引擎,只有在单词上按下滑鼠辅键时才给出其他选项。
▋ 搜寻引擎列表
以下列出了一些我个人常用的搜寻引擎,欢迎大家在评论中添加。
- Bing Dict
https://cn.bing.com/dict/search?qs=ds&form=Z9LH5&q=%s - Google Dict
https://www.google.com/search?q=define:%s - Wiktionary
https://en.wiktionary.org/w/index.php?title=Special%3ASearch&search=%s - Wikipedia
https://en.wikipedia.org/w/index.php?title=Special%3ASearch&search=%s - 維基百科
https://zh.wikipedia.org/w/index.php?title=Special%3ASearch&search=%s - YouTube
https://www.youtube.com/results?search_query=%s - Twitter
https://twitter.com/search?q=%s&f=live - 豆瓣图书
https://www.douban.com/search?cat=1001&q=%s - 豆瓣影剧
https://www.douban.com/search?cat=1002&q=%s - 全豆瓣
https://www.douban.com/search?q=%s - 中亚电子书
https://www.amazon.cn/s?k=%s&i=stripbooks - IMDb
https://www.imdb.com/find?s=all&q=%s - LibraryThing
https://www.librarything.com/search.php?search=%s - Goodreads
https://www.goodreads.com/search?&q=%s - Reddit
https://www.reddit.com/search/?q=%s - GitHub
https://github.com/search?type=&q=%s&o=desc&s=updated - PyPI
https://pypi.org/search/?q=%s - Firefox Add-ons (AMO)
https://addons.mozilla.org/firefox/search/?platform=windows&q=%s&sort=relevance&type=extension - chrome web store
https://chrome.google.com/webstore/search/%s?_category=extensions - Edge Add-ons
https://microsoftedge.microsoft.com/addons/search/%s - Greasy Fork
https://greasyfork.org/scripts?q=%s&filter_locale=0&sort=updated
细心的朋友可能会观察到,上方列表中有一些搜寻引擎被加入了限定条件以及排序规则,比如 Twitter 按时间 (&f=live), GitHub 按更新时间 (&o=desc&s=updated), AMO 按相关性 (&sort=relevance) 并指定了平台为 Windows (platform=windows), chrome web store 指定了搜寻类别为扩展 (_category=extensions), 以及 Greasy Fork 指定了按更新时间排序 (&sort=updated) 并进行全语种搜寻 (&filter_locale=0). 如果不喜欢这些限定条件或者排序规则,只要去掉相应的链接「块」就好了。
当然也可以改,比如把 Greasy Fork 的按更新时间排序 (&sort=updated) 改为按评分 (&sort=ratings), 或者直接删去这一「块」,即为默认的按每日安装量排序。
但是我之所以加入这些限定条件或者排序规则并不是没有原因的。比如给 GitHub 和 Greasy Fork 都加入了按更新时间排序但是却没有给 PyPI 加,是因为在实践中我发现给 GitHub 和 Greasy Fork 加但不给 PyPI 加「按更新时间排序」在绝大多数情况下都是最好的「预设值」。
▋ 注意事项
上方列表的第一项 ‘Bing Dict’ 在单次浏览器会话中的第一次使用一定会是失败的(失败的效果就是 Bing 告诉你什么都没搜到),这时候需要在失败的页面上等待,不要刷新,也不要关闭页面,就干等,等待大概 20 到 30 秒(等 30 秒是最保险的),看到整个页面完全加载完了,然后关掉这个标签页。后续同次浏览器会话中再搜寻就不会失败了。
同样还是 ‘Bing Dict’. 如果不想看到搜寻结果里的小图片部分,则可以把 bing.com##.img_area 手动添加到 uBlock Origin 的设置中,如果不想看到下方例句中画蛇添足的全句拼音标注,则可以把 bing.com##.b_regtxt.sen_ime 手动添加到 uBlock Origin 的设置中。再配合 uBlock Origin 本来就能够屏蔽的广告部分,Bing Dict 可以说是目前能够找得到的最清爽的中英查词网站了。
实际上,我这个有洁癖的家伙加了这么多——
cn.bing.com##.img_area
cn.bing.com##.contentPadding.client_homepage_container
cn.bing.com##.b_regtxt.sen_ime
cn.bing.com##.b_regtxt.sen_li
cn.bing.com##.mm_div
cn.bing.com##.b_footer
效果当然也确实是好——

还有一点注意事项就是,其实那个 ‘Google Dict’ 和普通的 ‘Google’ 也没什么差,因为早在 2011 年 Google 就把 Google Dictionary 完全地融入到了 Google Search 中了。不过,在实践中我发现,如果你加入 ‘define:’ 这个搜寻口令(也就是这里所谓的 Google Dict),则 Google 会优先给你返回很多网路词典的搜寻结果。因此也还算是有一点用处。而且当在搜寻中加入 ‘define:’ 口令后,后面的内容即使含带空格也无需用笨引号引起来(如果你想做一次「精准匹配」搜寻的话),因为有了 ‘define:’ 口令,Google 就自动默认后面的全都是一个要查的词(组)。
▋ 还有一些现成的
除了这样手动添加之外,其实在浏览器上也有一些现成的附加组件式的「×× 搜寻」。
比如在 Firefox 上,我们有:
- Context Wiktionary, 可为选中文本的上下文选单添加 ‘Search Wiktionary for’ 项;
- Search on Twitter, 为选中文本的上下文选单添加 ‘Search on Twitter’ 项;
等等。
这里就涉及到一个你要怎么整理你的上下文选单的问题——是否容许一些 Context Search「露在外面」以方便使用?这就要看你怎么想了。
<table style="border: none !important;"> <tr> <td style="border-left: none !important; border-top: none !important; border-bottom: none !important; text-align: right; border-right: 1px solid #dddddd; padding-right: 0.36rem;"> 111 年 1 月 26 日 ㈬ 午夜之后
夏曆辛丑年臘月廿四
26 Jan 70 Eliz 2 (Wed) 01:55 </td> <td style="border: none !important; text-align: left; padding-left: 0.3rem;"> 有醉酒数人嬉于庭
2°C a. t. -1°C
92% WSW 3 m/s </td> </tr> </table>
自由之巔網民,編程隨想讀者。 好文就是給讚。
我也分享一個小技巧,這個小技巧在找網頁內容的時候,會省去不少時間。
搜索網頁內容並跳轉到相應位置
類似代碼編輯器(記事本、NotrPad++)的查找(Find)功能。
以火狐瀏覽器為例:
1、打開你要搜索的網頁,在網頁任意右鍵「檢測(檢查元素)」。
2、在搜索欄輸入你要搜的內容。
3、轉到搜出的結果的HTML右鍵,點擊「將畫面捲動至此節點」。
Boreas_Caeruleus Lorem ipsum dolor sit amet, consectetur adipiscing elit.
自由之巔網民,編程隨想讀者。 其實,我一開始還不知道能alt能喚起選單~所以找到了這個辦法
這個辦法和直接菜單編輯——在頁面中搜尋沒差了
另外補充幾個鏈接
Amazon
https://www.amazon.com/s?k=%s谷歌搜知乎:https://www.google.com/search?q=site:www.zhihu.com%20%s
Boreas_Caeruleus Lorem ipsum dolor sit amet, consectetur adipiscing elit.
libgen天堂应该是图书馆的模样。一个阅读诗歌的人要比不读诗歌的人更难被战胜。创造是一种拯救。创造拯救了创造者本身。 谢谢分享!请教一下如果我要添加Zlibrary,链接是什么呢?
Boreas_Caeruleus @libgen <#178353> 出于道德观念我不能说任何有关可能提供盗版的东西。不过我想任何网站都有搜索框,试试看用搜索框搜个什么东西然后观察一下链接的构成?当然也可能那个网站有特殊的反扒技巧,不能直接用网址?
EDIT: 测试了一下,并没有。
不过这种网站应该网址经常变吧?可能添加了也没啥用。
libgen天堂应该是图书馆的模样。一个阅读诗歌的人要比不读诗歌的人更难被战胜。创造是一种拯救。创造拯救了创造者本身。 @Boreas_Caeruleus <#178356> 明白了,谢谢。
这种网站主域名一般不会变,而是会增加很多备用网址。