对于Google,有很多东西是一般用户所不了解的。看起来简单、明了的 Google界面掩饰了它下面深藏的Google索引、引擎的源动力和搜索语法的灵活性。Google Hacks义无反顾地潜入到深层的Google世界中,最大程度地挖掘了Google的潜能;挖掘信息而不仅是搜索,执行有效完成上作的任务,使用Google API自动执行复杂或者重复性的工作,想尽办法挖掘出每个搜索结果的价值。\r\n 考虑到超过80亿个网页,Google索引的规模已经是“Google Hacks”第一版出版时的四倍了。既然Google发展得这么快,本书也同样要发展,以收录进新的Google服务和用于原有功能的新hack程序。除了将过去的内容完全更新和重组外,这本“Google Hacks”还将继续给用户提供很多令人叫绝的 G00gle技巧。\r\n 通过Google的更具灵活性的搜索语法进行更巧妙的搜索;\r\n 使用Google Web API和一点Perl、PHP、Python、Java或.NET程序找到那些很难到达的页而的结果;\r\n 用Google De sktop将Google搜索的强大能量和灵活性放到你的桌面上,或者用Google Site Search将搜索功能放到你的站点中;\r\n 用Google AdWords穿越在线广告的屏障——使用站点中的AdSense来为自己赚钱;\r\n 清楚地了解G00gle如何检索用户的网站,了解更多关于G00gle的著名PageRank算法的内容;\r\n 让Google独特的、流行的在线邮件系统——Gmail来改变你使用电子邮件的方式。
序\r\n第一版的序 \r\n致谢\r\n前言 \r\n第一章 网页\r\n 引言:Google网络搜索的基本知识 \r\n 全字通配符\r\n 10个单词的限制 \r\n 特殊的语法结构\r\n 混合语法结构 \r\n 高级搜索\r\n 快速链接\r\n 语言工具\r\n 分析搜索结果\r\n 设置参数\r\n 弄清楚Google的URLs \r\n 1.浏览Google的地址名录\r\n 2.及时从Google上得到初步印象\r\n 3.Google结果随时间变化的图表\r\n 4.显示Google搜索结果\r\n 5.检查拼写 \r\n 6.Google电话簿:让Google的手指为你指路\r\n 7.全球化的视角与Google本地查询 \r\n 8.跟踪股票信息\r\n 9.搜索辞典 \r\n 10.查找定义 \r\n 11.搜索归档文件\r\n 12.查找信息所在的目录\r\n 13.搜索’Weblog的注释 \r\n 14.搜索所有基本的关键词\r\n 15.重复使用关键词\r\n 16.查询特定的日期范围\r\n 17.计算Google上的Centuryshare \r\n 18.Google搜索表单妙用\r\n 19.超越(300gle的高级搜索 \r\n 20.使用Google工具进行翻译 \r\n第二章 高级页面\r\n 引言:一些假设 \r\n 21.同义词 \r\n 22.在(300gle Box r}]获得Google搜索结果 \r\n 23.构造Google网页目录的uRL\r\n 24.寻找菜谱\r\n 25.随时跟踪搜索结果的数量 \r\n 26.手气真不错(Feeling Really Lucky) \r\n 27.(有意地)获取随机结果\r\n 28.改变查询序列的组合方式 \r\n 29.衡量查询关键词的权重\r\n 30.获取顶级目录下的搜索结果 \r\n ……\r\n第三章 图像\r\n第四章 新闻组和论坛\r\n第五章 附件\r\n第六章 Gmail\r\n第七章 广告\r\n第八章 Web管理\r\n第九章 Google编程\r\n索引
从早期那卷帙浩繁的馆藏书目、繁重的手工精心录入的索引卡,到后来不同程度上的自动化检索技术;从像Dialog与LexisNexis那样的收藏有海量专业信息的公司,到现在费用昂贵的医学、房地产和法律等私营研究服务:海量数据的搜索引擎的肇始要比万维网领先几十年。
那时候,数据收集的检索并不总是那么容易。但只要用点技巧,再加上足够的耐心,就有可能对它们进行彻底的搜索:一般做法是将信息按照已建立的知识本体进行分类,将数据按照特定的指导准则进行预先格式化。
这后来才有了网络。
网络上的信息——任何一个曾经浏览过若干网页的人都知道——其格式多种多样,可信度参差不齐,内容亦新亦旧,有的连拼写检查都过不了关。虽然如此,搜索引擎异峰突起,致力于检索迅速增长的在线信息,最终,针对普通网页的通用部分(如网页标题或URL)形成了多种专用搜索语法结构。搜索引擎技术进展神速,其目标瞄准数以亿计的在线文档之间的细微差别,这种努力从来没有停止过。
1998年,GoogleTM 宣布角逐搜索引擎市场。实际上,Google脱胎于一个名为BackRub的搜索引擎服务,它的名字源于英文单词“googol”(表示数字1后面跟100个0)。从一开始,Google就与其他的在线搜索引擎(如AltaVista,Excite,HotBot等)存在着明显的区别。
这首先体现在技术上:Google搜索结果的关联度非常突出,值得称道。不仅如此,在用户界面上,Google也是精益求精,这使得它在互联网上站稳了脚跟。
Google搜索结果的表述方式十分友好,其搜索功能不断地扩展,因此,青睐它的用户也就越来越多,这不足为奇。一些Weblog对此有专门的统计。而ResearchBuzz等搜索引擎时事通讯则卖力地对Google进行跟踪报导。还有相当一批的Google爱好者正乐此不疲地挖掘其功能特性、编写Google游戏(如Google Whacking,译注1),甚至专门为Google创造新词汇(如“Googling”,其意为依据Google的搜索结果来决策约会、雇用等事件的习惯行为)。人们用Google来寻找雇主,安排约会,购买商品或者服务,处理学校的作业,查询电影简介、实事和小说,或者用于娱乐,甚至赚钱。
到本书写作的时候为止,Google涵盖了互联网上超过80亿个网站页面,8.8亿幅以上的图像,8.45亿条的网络消息,而且,Google刚刚发布了Google Print(http://print.google.com),使得其中的内容一下子传遍了全世界。
2002年4月,Google向其用户群发布了Google API。Google API可以让程序开发人员通过自动化查询的方式合法访问Google的搜索结果。如果所有的搜索、过滤和排序都必须手动完成,那么要电脑似乎就没有什么意义了。
为什么要深入Google hack?
“Hack”一词一般被理解为以“quick-and-dirty”(方便法门)的方式来解决编程问题,或深入钻研某门技术以实现特定功能。但这种行为又是怎么跟Google联系在一起的呢?
从Google搜索结果的数量上来看,有时候,我们想搜索某个特定的或者精确的结果,但是搜索引擎返回的结果却远远多于所需的结果,很多数据结果对用户毫无用处。而有的时候,目前的搜索界面又不能很好地支持我们的特定搜索要求。
本书并不致力于详细讲解每一条Google搜索指令(尽管我们确实对此介绍得比较详细,而不仅仅是简单地提到而已),而是着眼于挖掘实用的搜索技巧,展示在进行自动查询的时候,如果只知道一点关于如何编程的知识就能实现哪些功能。换句话说,就是如何进行hack。
本书的组织方式
Google的myriad服务,再加上超过40亿个网页收藏中所蕴含的动态数据,发挥你的想像力吧,它会让你发现无数通往最佳搜索的捷径。本书不仅是一本搜索指南,还将直接带你到达黑客独有的境界——技巧、诀窍,还有能使你大长搜索本领的各种技术,让你的搜索更加充满乐趣,更加出神入化!
本书分为以下几章:
第一章,网页(Web)
本章阐述Google进行搜索工作的基本原理。读者在阅读完本章之后,可以学习到用于Google的专用语法(也可以看作是“special sauce”)的一些技巧和手段,以及一些特殊的搜索,如phonebook(电话簿),calculator(计算器),package(包裹)和stock tracking(库存跟踪)等等;另外还有关于Google 隐藏页面和相关链接等内容。本书不是单纯地列出“this syntax means that”(这个语法能做什么),书中还会讲解到对每个语法如何扩展搜索功能——以及如何混合搭配使用语法,使得它们的功能更加强大。
第二章,高级网页(Advanced web)
本章可以让用户将刚刚学会的一些简单的技巧提升一个档次,帮助用户学会如何使用Google的hack程序,进行自动搜索、获取信息以及重新组合。在本章中,用户可以对网络搜索进行更深入的挖掘,让自己得到更多从来没有见过的、没有想过的结果。
第三章,图像
在前面的章节中我们都是讲述关于文本内容的搜索,现在让我们来休息一下,看看网络上的那些好看的照片、图标、图画以及其他Google图像,可以为你搜索和提供的视觉享受吧。
第四章,新闻组和论坛
Google新闻组可以为用户提供每天的重要新闻和事件。在论坛中,可以随意地讨论任何感兴趣的话题,用户还可以建立属于自己的论坛。
第五章,附加功能
除了浏览网页,用户还可以将Google整合到自己的工具栏中、桌面上甚至文字处理软件中。本章介绍如何充分利用Google的优点来完成一些附加功能。在go上通过电子邮件或即时信息(通过电话或PDA)搜索。
第六章,Gmail
Google Gmail并不是普通的网络邮件服务系统。它具有简洁、交互性强、实用性强的特点——像JavaScript写成的网页;它有数十亿字节的存储空间,可以让用户随意使用。还有一些很神奇的功能,如果不真正试试,用户可能永远也体会不到它的强大。
第七章,广告
Google AdSense可以在用户的站点或者Weblog上产生很好的以文本为主的广告——无论量有多大或者多小。AdWords可以帮助用户在网络上提高自己广告的可视性,以创造更多的利润。
第八章,Web网站管理
作为一名网上冲浪者,你可能会站在两种不同的立场上看Google:一种是普通搜索者的立场,另一种则是那些尽量想使某个Web站点在搜索排名中更加靠前的人所持有的立场。从本章用户可以了解到Google那声名卓著(狼籍)的网页排名(PageRankTM),学到如何为Google的来访做好清理准备工作,以及如何确保用户的网页不被Google收录(如果真的不想被收录的话)。
第九章,Google编程
本章介绍本书所属许多技巧中的Google应用编程接口(API)。如果你还未曾亲自进行过编程,那么这里是激发你灵感的好场合。
如何阅读本书
你可以逐页阅读本书,但实际上绝大部分hack之间并无太多的关联。因此你尽可以随意翻阅,挑选最感兴趣的章节来看。如果你是一位Perl“新手”,你可以先学习稍微简单一点的hack,等有把握之后再研究更高级的黑客技巧。
如何运行hack
本书中的一些hack程序代码,既可以在命令行中运行(对于Mac OS X用户,命令行是Terminal,对于使用Windows操作系统的用户,可以使用Windows中的DOS命令窗口)或者作为CGI脚本(scripts)——用户网站中使用浏览器浏览的动态页面。
命令行脚本(Command-Line Scripts)
在命令行运行hack程序时,下面这些步骤都是必不可少的:
1. 将程序输入到garden-variety文本编辑器中:在Windows系统下使用Notepad,Mac OS X系统中用TextEdit,UNIX/Linux系统中用vi或 Emacs。按指示将文件保存下来:通常情况下默认为scriptname.pl(文件名中的pl字节代表Perl,是在Google Hacks中使用的主要编程语言)。
用户还可以在线下载所有的hack代码,网址是http://www.oreilly.com/catalog/googlehks2,下载下来的ZIP文件解压缩之后可以得到一些保存为文本文件的脚本。
2. 找到电脑上或远程服务器上的命令行。在Mac OS X中,运行Terminal(Application→Utility→Terminal)。在Windows操作系统下,单击“开始”按钮,选择“运行...”,输入“command”,按回车键。在UNIX操作系统下……当然,相信读者应该已经知道如何进入命令行了,这里就不赘述了。
3. 找到在本地保存过的脚本文件。当然,对于不同的操作系统,需要进行的操作可能会有所不同,不过通常会包括类似于cd~/Desktop之类的命令(这是在Mac中进入用户桌面的命令)。
4. 运行编程语言的解释器(如perl)可以调用脚本(如scriptname.pl),方法如下:
$ perl scriptname.pl
通常,用户还有一些工作要做,比如须要设定一些参数——搜索查询,用户希望的结果数等。设定这些参数的方法也很简单,在脚本名称的后面加上它们就可以了,不过记得如果某些参数需要不止一个字母,比如包含两个或者三个字母的话,需要用引号扩起来:
$ perl scriptname.pl '"much ado about not
无封面