← 返回目录


英文互联网搜索技巧

钻研人类记忆,探索复习算法。改善教育公平,践行自由学习。

275 👍 / 1 💬

本文介绍了高效进行互联网论文/书籍研究的高级技巧与窍门,并辅以真实案例。

久而久之,我在网上查找参考文献、论文和书籍方面,练就了一身高超的谷歌搜索技巧和专业能力。我将从布尔查询和键盘快捷键等标准技巧讲起,逐步介绍搜索、针对高难度目标调整搜索、突破付费墙、请求「越狱」、扫描书籍、监控主题和托管文档的整个流程。其中一些技巧鲜为人知,例如通过互联网档案馆(IA)查阅书籍。
我试图将我的搜索工作流程记录下来,并就如何发现与托管文档分享一些通用建议,同时提供示范性的案例研究
谷歌学术搜索结果截图,图中箭头指向了许多用户都不知道的、非常有用的全文链接。

高超的谷歌搜索技巧是我自小学起就引以为傲的技能。那时,图书管理员让全班同学比赛查年鉴,赢的常常是我。我至今仍清晰地记得,在高中时我恍然大悟的那个瞬间——我余生的很大部分时间,都将与搜索、付费墙和失效链接打交道。互联网是史上最伟大的信息宝库,对有好奇心的人来说,它就是一个取之不尽、用之不竭的聚宝盆。因此,每当看到许多人浅尝辄止地一搜便无功而返,甚至压根不去尝试,我便感到惋惜。对大多数人而言,如果在谷歌或谷歌学术的第一条结果里找不到,那它就等同于不存在。在下文中,我将倾囊相授我最得意的互联网搜索技巧,并勾勒出一幅在线搜索的流程图,以阐释那些精妙的技巧和只可意会的搜索神技。

概括来说,我们首先需要合适的工具来创造搜索的机会:若是完全避免搜索,我们就无法精通搜索。其次,每次搜索都会因搜索引擎和媒介类型的不同而有所差异——它们各有各的脾性、盲区和补救失败搜索的方法。我们常常会碰壁,而每一种壁垒都有相应的破解之道。但是,当我们找到了资料,事情还没完:如果我们不设法确保它永久可寻,那将是愚蠢且短视的。最后,我们或许还会对一些高级主题感兴趣,例如如何预先确保资源在未来需要时依然可用,或是如何发现那些我们可能想要进一步探索的新事物。为了阐明整个工作流程并展示那些只可意会的知识,我收录了许多搜寻「硬骨头」资料的互联网案例研究。

1 论文

1.1 搜索

1.1.1 准备工作

「寻觅,必获。」
——乔尔乔·瓦萨里《马西亚诺之战》

无需尝试,只管去做。你必须做的第一件事,就是养成一有问题就去搜索的习惯:「谷歌是你的好帮手。」唯一保证会失败的搜索,就是你从未发起的搜索。(要警惕那些微不足道的麻烦!

  1. 掌握查询语法

    你需要了解基本的布尔运算符关键的谷歌搜索运算符完整列表):用双引号进行精确匹配,用连字符表示否定/排除,用 site: 在特定网站或其特定目录下搜索(例如,foo site:gwern.net/doc/genetics/,或排除特定目录 foo site:gwern.net -site:gwern.net/doc/)。你或许也想试试高级搜索页面,来了解它都能实现些什么功能。(谷歌还有更多搜索运算符Russell 的说明),但它们不见得值得学习,因为其功能过于冷门,而且大部分似乎都有缺陷^[例如,info: 运算符就毫无用处。而 link: 运算符,在我近十年偶尔试用的经历中,返回的我的网站的链接数量,远不及谷歌网站管理员工具里的入站链接数,而且它似乎在某个时间点被彻底禁用了。]。)

  2. 热键快捷方式强烈推荐

    启用某种形式的热键搜索功能,使其既能弹出输入框,也能直接搜索剪贴板中复制的内容,从而将使用谷歌(G)、谷歌学术(GS)、维基百科(WP)搜索变成一种条件反射。^[维基百科因其日益狭隘的信源和预印本政策,正变得越来越过时和缺乏代表性,这是其整体删除主义衰败的一部分,因此它并非查找参考文献的好去处。不过,用它来查找关键术语还是不错的。] 你应该能在好奇心萌生的一瞬间,仅凭几次按键就本能地发起搜索。(如果你在用 IRC 聊天时使用此功能,速度快到对方都察觉不到你的停顿,那才算足够快。)

    工具示例:AutoHotkey(Windows),Quicksilver(Mac),xclip+Surfraw/StumpWMsearch-engines/XMonadActions.Search/Prompt.Shell(Linux)。DuckDuckGo 提供了 「bangs」 功能,这是一种引擎内的特殊搜索(多数等同于谷歌的 site: 搜索),其用法类似,也可与输入框、宏或热键结合使用。

    我个人就重度使用我编写的 XMonad 热键,它为我提供了窗口管理器级别的快捷方式:在任何程序中,我只需选中一段标题文本,按下 Super-shift-y,就能立刻在新的 Firefox 标签页中用谷歌学术搜索选中的内容;如果我想编辑标题(比如加上作者姓氏、年份或关键词),则可以按下 Super-y 调出输入框,用 C-y 粘贴内容,编辑后再按回车键启动搜索。可想而知,这在需要大量或连续搜索论文时极为便利。(浏览器本身也有类似快捷键,但我不太喜欢,因为它们只在浏览器窗口内生效,通常需要更多按键或鼠标操作,并且一般不支持热键或直接搜索剪贴板内容:FirefoxChrome)

  3. 网页浏览器热键

    为了在搜索结果和不同条目间自如跳转,你应该熟练掌控你的标签页浏览器。你需要能够随时定位到地址栏、在标签页间左右切换、关闭标签页、打开新的空白页、恢复刚关闭的页面,以及直接跳转到第n个标签页等等。(在 Windows/Linux 版的 Firefox/Chrome 中,这些操作对应的快捷键分别是:C-lC-PgUp/C-PgDwnC-wC-t/C-TM-[1–9]。)

1.1.2 执行搜索

当你(大概率是在谷歌学术上)发起搜索后,就需要浏览它的搜索结果了。对于谷歌学术,操作通常很简单,只需点击右上角的 [PDF][HTML] 链接,这代表了(谷歌学术认为的)全文链接,例如:

谷歌学术搜索结果示例:请注意 [HTML] 链接,它表明这篇论文有可供全文阅读的 Pubmed 版本(新手常常会忽略这一点)。

谷歌学术:如果右上角没有全文链接,那就留意是否存在「软性壁垒」。记住,在谷歌学术中,全文链接并总是以 [PDF] 的形式出现!请手动检查排名最前的几条结果:它们常常设有「软性壁垒」,即网站会屏蔽网络爬虫,但仍然允许你下载全文(可能需要费一番周折,比如 SSRN 网站)。

另外请注意,谷歌学术还支持其他实用功能,例如为特定搜索词设置提醒、为某篇论文的任何新引用设置提醒,以及反向引文搜索(用于追踪一篇论文的后续研究,寻找重复实验失败的案例或相关批评)。

1.1.2.1 深挖细掘

想找的资料可能不会立刻出现。人生就是如此,十有八九不会一帆风顺。^[我小时候以为,只要拿着一本书的唯一 ID,也就是 ISBN,去找图书馆的参考咨询员,他们就能帮我调来国会图书馆里的任何一本实体书;这听起来合情合理。但我一直没搞懂,那些科普书或报纸文章里引用的所谓「论文」到底该怎么弄到手——一篇论文究竟在哪儿?如果它发表在某本《论文期刊》上,我又该去哪儿找这本期刊?我那时的图书馆只订了几十种杂志,肯定没有《科学》、《自然》这些高大上的刊物。残酷的真相是:哪儿都找不到。论文没有统一的标识符(至今大多数论文仍没有 DOI),也没有中央数据库,更没有谁来负责——只有一个由零散的图书馆和废弃的网站构成的混乱拼凑体。所以,找书通常很容易,而找一篇论文却可能是一场长达数十年的漫漫征途,你可能需要深入到互联网档案馆的犄角旮旯,或者从那些雇佣黑客渗透私人数据库的、来路不明的中文网站上购买。]这时,你就得发挥点创意了:

点击最右侧的「工具」,即可在谷歌搜索中使用日期范围和「精确」搜索模式。
「精确」模式有助于强制进行更严格的字面匹配:若不开启,搜索「foobar」时,结果会固执地显示音乐播放器、招聘比赛等无关内容,而不是这个编程术语本身

1.1.2.1.1 疑难杂症

如果基本技巧都毫无见效的迹象,那你就得动真格的了。你手头的标题可能完全是错的,或者文献被索引在另一个作者名下,或者根本没被直接索引,又或者藏在某个数据库的深处。以下是一些寻找文献的迂回战术:

1.1.2.2 根据引文或描述反向追查

如果你没有标题,只能靠引文或描述来搜索,那么可以尝试像微调标题一样,对搜索内容进行变换:

1.1.2.2.1 如何应对付费墙

金银离土,则不复归于土;无理而付诸尘土者,亦可有理而取之。当以丰碑华构饰逝者之骸,而非财货。生者之贸易,不应转于死者。取走无人怨其失落之物,并非不公;此物既无主,便无人因之受损。
——托马斯·布朗爵士 《瓮葬》

要找书或论文,就用 Sci-Hub/Libgen。付费墙通常可以用 Libgen(LG)或 Sci-Hub(SH)绕过:论文可以直接搜索(最好用 DOI^[简单来说,DOI 相当于「论文界的ISBN」;就是你常见到的那种用斜杠分隔的字母数字字符串,格式通常类似 10.000/abc.1234。(与 ISBN 不同,DOI 的标准非常宽松,唯一的硬性要求似乎就是必须包含一个 /,所以几乎任何字符串都能当 DOI,甚至包括 10.1890/0012-9658(2001)082[1655:SVITDB]2.0.CO;2 这种堪称可恨的真·DOI。)许多论文没有 DOI,或 DOI 是后来补发的,但只要有,它就是查询任何数据库最可靠的钥匙。],但用不加引号的「标题+作者」也常常可行),一个更简单的方法或许是在付费墙页面的 URL 前面加上 sci-hub.st/(或你喜欢的任何 SH 镜像地址)^[我建议用前缀法(如 https://sci-hub.st/https://journal.com),而不是后缀法(如 https://journal.com.sci-hub.st/)。因为前者打起来稍快,但更重要的是,Sci-Hub 的 SSL 证书没配好(我猜是缺少通配符证书),导致后缀法在很多浏览器里会因 HTTPS 错误而失效!而前缀法总能正常工作。]。偶尔 Sci-Hub 会没有某篇论文,或持续报 HTTP 或代理错误,但直接在 Libgen 里搜 DOI 却能找到。最后,Z-Library 镜像站上还有一个 LibGen/Sci-Hub 全文搜索引擎,是谷歌图书的一个不错替代品(尽管 OCR 质量不佳)。

利用大学网络。如果以上方法都不行,而你又没有大学的代理服务器或校友权限,可以考虑亲自去一趟大学图书馆。许多大学图书馆允许基于 IP 地址访问其数据库,并且馆内通常有开放的 WiFi 或可供公众登录的电脑。去之前最好列一张清单,把要找的东西都记下来。

公共图书馆也行。公共图书馆通常会订阅商业报纸或杂志数据库。虽然去一趟不方便,但你至少可以先在其网站上查查它们都订阅了些什么。公共和学校图书馆还有一个获取常见学术资源(如《牛津英语词典》或《纽约时报》、《纽约客》的档案)的妙招:由于它们的用户群体通常不那么懂技术且流动性大,有些图书馆会直接把用户名/密码列表挂在网站上(有时是以 PDF 形式)。他们本不该这么做,但他们就是这么做了。用谷歌搜索「public library New Yorker username password」之类的短语,就能找到一些例子。悄悄地用它下一两篇文章,无伤大雅。(这招用在别的东西的密码上就没那么灵了。)

如果还不行,那就得进入一个更隐秘的文件共享生态圈了:booksc/bookfi/bookzz、像 Bibliotik 这样的私密 BT 站、带有 XDCC 机器人的 IRC 频道(如 #bookz / #ebooks)、像 eMule 这样的老牌 P2P 网络、私密的 DC++ 中心……

特定网站注意事项:

1.2 求助

人肉搜索。最后的杀手锏:如果以上所有方法都失败了,网上还有几个地方可以求助(不过,如果你已经穷尽了前面所有途径,这些地方通常也无能为力):

最后,你还可以随时尝试联系作者本人。这招对我遇到的那些最硬的骨头只偶尔管用,因为它们通常是年代久远的文献,作者要么已经去世,要么无法联系。要知道,任何自 1990 年以来发表论文的作者,其作品通常都已在某个地方被数字化了。但无论如何,这总归值得一试。

1.3 找到之后

在你找到全文副本后,应该为它找一个可靠的长期链接或存储位置,并让它更容易被后人找到。记住那句老话——如果谷歌/谷歌学术里搜不到,它就等于不存在!

exiftool -Author="Frank P. Ramsey" -Date=1930 -Title="On a Problem of Formal Logic" -DOI="10.1112/plms/s2-30.1.264" \
-Subject="mathematics" -Keywords="Ramsey theory, Ramsey's theorem, combinatorics, mathematical logic, decidability, \
first-order logic,  Bernays-Schönfinkel-Ramsey class of first-order logic, _Proceedings of the London Mathematical \
Society_, Volume s2-30, Issue 1, 1930-01-01, pg264–286" 1930-ramsey.pdf

1.4 进阶技巧

除了(强烈推荐的)使用热键和布尔运算符进行搜索外,研究者还有一些非常有用的工具。虽然上手有门槛,但长期来看回报丰厚:

2 网页

如果你能善用 archiver-bot 这类预 archiving 工具,修复自己网站上的链接失效问题会容易得多,但这解决不了外部引用失效的问题。 搜寻丢失的网页,其方法与搜寻论文有相似之处:

互联网档案馆一个常被忽视的功能截图:显示特定域名的所有可用/已存档的URL,并筛选出匹配如 *uploads/* 字符串的子集。
gem install --user-install wayback_machine_downloader
~/.gem/ruby/2.7.0/bin/wayback_machine_downloader wayback_machine_downloader --all-timestamps 'https://blog.okcupid.com'

3 书籍

3.1 数字版

电子书比论文更稀少,也更难获取,不过自本世纪初以来,情况已大为改观。要在网上搜寻书籍,可以遵循以下方法:

for i in {1..151}
do if [[ ! -s "$i.pdf" ]]; then
wget "https://babel.hathitrust.org/cgi/imgsrv/download/pdf?id=mdp.39015050609067;orient=0;size=100;seq=$i;attachment=0" \
  -O "$i.pdf"
sleep 20s
 fi
done
 
pdftk *.pdf cat output 1957-super-scientificcareersandvocationaldevelopmenttheory.pdf
 
exiftool -Title="Scientific Careers and Vocational Development Theory: A review, a critique and some recommendations" \
-Date=1957 -Author="Donald E. Super, Paul B. Bachrach" -Subject="psychology" \
-Keywords="Bureau Of Publications (Teachers College Columbia University), LCCCN: 57-12336, National Science Foundation, public domain, \
https://babel.hathitrust.org/cgi/pt?id=mdp.39015050609067;view=1up;seq=1 https://psycnet.apa.org/record/1959-04098-000" \
1957-super-scientificcareersandvocationaldevelopmenttheory.pdf
grep -F '@id' manifest\?manifest\=https\:%2F%2Fwellcomelibrary.org%2Fiiif%2Fb18032217%2Fmanifest | \
   sed -e 's/.*imageanno\/\(.*\)/\1/' | grep -E -v '^ .*' | tr -d ',' | tr -d '"' # "
# bf23642e-e89b-43a0-8736-f5c6c77c03c3
# 334faf27-3ee1-4a63-92d9-b40d55ab72ad
# 5c27d7de-6d55-473c-b3b2-6c74ac7a04c6
# d514271c-b290-4ae8-bed7-fd30fb14d59e
# f85ef645-ec96-4d5a-be4e-0a781f87b5e2
# a2e1af25-5576-4101-abee-96bd7c237a4d
# 6580e767-0d03-40a1-ab8b-e6a37abe849c
# ca178578-81c9-4829-b912-97c957b668a3
# 2bd8959d-5540-4f36-82d9-49658f67cff6
# ...etc
I=1
for HASH in $HASHES; do
wget "https://dlcs.io/iiif-img/wellcome/1/$HASH/full/2212,/0/default.jpg" -O $I.jpg
I=$((I+1))
done

3.2 实体书

获取实体书,价格不菲,但切实可行。与论文和学位论文相比,书籍就像一把双刃剑。一方面,书籍更常出现网上找不到的情况,必须在线下购买,但好在二手书几乎总能在线下轻松买到(而且往往总花费不到 $10(2019 年价格))。另一方面,论文和学位论文虽然常能在网上找到,可一旦找不到,那通常就是真的就彻底找不到了,让你束手无策(除非你有大学的馆际互借部门做后盾,或者愿意亲自跑到那少数几家甚至唯一一家存有纸质或缩微胶卷副本的大学)。

从二手书商处购买:

扫描数字化:

4 案例研究

Internet Search Case Studies

5 另见

6 外部链接

7 附录


Thoughts Memo 汉化组译制
感谢主要译者 gemini-2.5-pro、校对 Jarrett Ye
原文:Internet Search Tips · Gwern.net
作者:Gwern Branwen
互联网归档命令行界面(CLI)谷歌教程
2018-12-11~2023-08-08 · 已完稿 · 确定性: 确定 · 重要性: 4

专栏:Gwern Branwen


← 返回目录