设置筛选条件

可以根据很多因素来限制 Google 搜索。它们包括语言、内容、国家或地区和主题。您还可以控制输入和输出的编码。

例如,Google 列出了国家或地区代码,允许您根据来源国家或地区限制数据。虽然在分发文件 APIs_Reference.html 上有完整的清单,但是要将搜索限制在包含词组 "science fiction" 的来源为 United Kingdom 的页面上,请设置 restrict 参数:

...
search.setMaxResults(maxResult);
search.setRestrict("countryUK");  
GoogleSearchResult result = search.doSearch();
...

Google 还指定了信息的四组“特殊分类”:

  • U.S. Government (unclesam)
  • Linux (linux)
  • Macintosh (mac)
  • FreeBSD (bsd)

因此,为了搜索归在 linux 分类的 "science fiction" 页面,请将限制条件设置成:

...
search.setQueryString(searchTerm);
search.setRestrict("linux");  
GoogleSearchResult result = search.doSearch();
...

请注意,主题域并不总是如您所愿的限制结果。例如,实际上在 linux 类中 "science fiction" 有 8710 个结果。

  有筛选条件的搜索结果

这里有一个样本,是在 linux 类中搜索到的 8710 个 "science fiction" 结果页面:

...
Bills Pointers to <b>Science</b> <b>Fiction</b>
http://starship.python.net/crew/gandalf/rtlinux/luz.cs.nmt.edu/%257Etobor/jwz/ba
bylon.shtml
Bills Pointers to <b>Science</b> <b>Fiction</b>. Here is what
happens<br> w
hen barney meets star trek. Warner <b>...</b>
General and <b>Science</b> <b>Fiction</b> books
http://www.bowling.uklinux.net/bookshop/sfbooks.php3
<b>...</b> Striking Home <b>Science</b>
<b>Fiction</b> Bookshop In Associa
tion with Amazon.com<br> and Amazon.co.uk [Christian Books] [Bowling Books] <b>.
..</b>
<b>Science</b> <b>Fiction</b>
http://nico-s.homelinux.org/ScienceFiction/livres/categories.php?FInfos=sciencef
iction
<b>Science</b> <b>Fiction</b>.
<b>...</b> Definition de la &quot;<b>Science
</b> <b>Fiction</b>&quot; par les editions Pocket. Barrington<br> J. Bayley. Al'
unite. Le rayon Zen (auxditions le livre de poche). <b>...</b>
...

您还可以将限制条件组合在一起,如:

unclesam.countryUS
linux.(countryUS|countryUK)
max.(-countryUS)


  选择语言

API 还提供了特定的参数限制结果的语言。

...
search.setQueryString(searchTerm);
          search.setLanguageRestricts("lang_fr");  
GoogleSearchResult result = search.doSearch();
...

Google 能识别以下的语言代码:

Arabic:  lang_ar
Chinese (S):  lang_zh-CN
Chinese (T):  lang_zh-TW
Czech:  lang_cs
Danish:  lang_da
Dutch:  lang_nl
English:  lang_en
Estonian:  lang_et
Finnish:  lang_fi
French:  lang_fr
German:  lang_de
Greek:  lang_el
Hebrew:  lang_iw
Hungarian:  lang_hu
Icelandic:  lang_is
Italian;  lang_it
Japanese:  lang_ja
Korean;  lang_ko
Latvian:  lang_lv
Lithuanian:  lang_lt
Norwegian:  lang_no
Portuguese:  lang_pt
Polish:  lang_pl
Romanian:  lang_ro
Russian:  lang_ru
Spanish:  lang_es
Swedish:  lang_sv
Turkish:  lang_tr


  指定编码

对于信息在使用不同编码的环境中来回传输的情况,API 使您可以以指定的方式设定输入和输出语言的编码。例如:

...
search.setQueryString(searchTerm);
          search.setInputEncoding("greek");
search.setOutputEncoding("hebrew");
GoogleSearchResult result = search.doSearch();
...  

在这种情况下,解释查询字符串 searchTerm 时就好象它是用 greek 编码的一样,以 hebrew 编码的结果将会被送回来。默认的编码方式是 latin1。

  去除成人结果

上网冲浪相当长的时间而没有注意到 Web 上有大量的成人内容是不大可能的。要去除搜索集中的成人结果,请选择安全搜索:

...
search.setQueryString(searchTerm);
search.setSafeSearch(true);  
GoogleSearchResult result = search.doSearch();
... 

如果 setSafeSearch 被设成 true,Google 就会使用一个检查关键词和词组、URL 和 Open Directory 目录的过滤器。


  去除相关结果

在有许多相似结果的情况下,API 允许您只返回典型页面。例如,如果打开过滤功能,则对于标题和片断极为相似的一组结果,Google 将只返回其中的第一个,而同一 Web 主机上则只返回前两个结果。这样用户不但不会被同一个站点的结果困住,而且还能对那个站点上的可用内容有所了解。

API 允许您使用 setFilter() 方法将过滤功能关闭,但请注意代码样本下面的注意事项。

...
search.setQueryString(searchTerm);
search.setFilter(true);  
GoogleSearchResult result = search.doSearch();
...

注意,根据文档,当这个值设为 true 时,过滤功能打开,而当为 false 时则过滤功能关闭。不过,看上去,情况似乎刚好相反,当这个值被设为 true 时则返回相关结果,而当它设为 false 时则排除结果集。

[Google API](5)筛选结果相关推荐

  1. [Google API](3)创建搜索

    需要的类 要通过 Java 使用 Google API,请确保适当的类都能找到.Google 为方便起见已经将这些类捆绑到了 googleapi.jar 文件中,这个文件作为分发包的一部分被包含.这个 ...

  2. [Google API](2)什么是google API

    什么是 Google? Google 是一个搜索引擎,它为 Web 站点.Usenet 新闻组和新闻来源建立索引.Web 上有几十亿个页面,能否得出有用的搜索结果的困难就在于弄清楚哪些页面是真正与用户 ...

  3. [Google API](8)构建使用Google API的Java应用程序

    Google 搜索引擎建立起了通过 Web 服务接口可用的索引.拼写建议和缓存页面,从而允许所有语言的程序员都能就个人使用存取信息.Google 搜索引擎还提供了 Java API,从而存取数据更为便 ...

  4. [Google API](7)直接使用Web服务

    到目前为止,本教程一直在讨论通过 Java 应用程序使用 API 来达到 Google Web 服务的使用目的,但这只是一种方便的办法.可以直接通过 SOAP 消息(在 http://api.goog ...

  5. [Google API](6)拼写检查器和缓存页面

    作为 Google 创建索引过程的有机组成部分,Google 要检索被建立索引的页面副本,在搜索结果中为用户提供到缓存页面的链接.主要的缺点是用户看不到更新后的内容,但一些优点也是存在的. 检索缓存页 ...

  6. [Google API](1)简介

    简 介   Google 搜索引擎现在可以通过基于 SOAP 的 Web 服务来访问了.这意味着,开发人员现在可以在他们自己的应用程序中嵌入 Google 搜索结果和其它信息. 本教程将教您如何使用G ...

  7. Google API 设计指南-设计模式

    翻译自 API Design Guide - Design Patterns 空响应体 标准的 Delete 方法 必须(must) 返回 google.protobuf.Empty 来实现全局一致性 ...

  8. Google API 设计指南 - 前言

    原文地址:https://cloud.google.com/apis... Copyright: Creative Commons Attribution 3.0 License Current Ve ...

  9. Google API:如何访问Google Analytics(分析)数据?

    在深入研究Google Analytics(分析)API之前,了解一些Google Analytics(分析)术语及其关系总是很有用的. Google帐户:要访问Google Analytics(分析 ...

最新文章

  1. web自动化测试从入门到持续集成(selenium webdriver)
  2. php webuploader大文件,web uploader 上传大文件总结
  3. Azure编配器简化有状态无服务器工作流的创建
  4. idea将maven项目打包成war包的方式,以及使用war包
  5. Java面试题谷歌插件
  6. 前端基础_认识前端.md
  7. 奇门对接需求设计_从2020《奇门遁甲》看网络电影精品化的“正确打开方式”...
  8. nginx 1.12基础知识
  9. No_16_0224 Java基础学习第五天
  10. 单片机矩阵键盘扫描程序c语言,51单片机矩阵键盘扫描程序
  11. 移动前端开发与WEB前端开发有什么联系与区别?
  12. 大数据查询怎么优化?
  13. 读书笔记:《世说新语》
  14. git push出现 remote: Support for password authentication was removed on August 13, 2021.
  15. 开源电子表格Luckysheet强势推出在线协作
  16. PCIe TLP Prefix PASID TLP Prefix介绍
  17. pymysql的mysql补丁_MySQL 的增删改查以及 pymysql 的使用
  18. Python基础-编码
  19. php 微信怎么清除缓存,前端清除缓存方法(微信缓存引起的bug)
  20. Zip4j 压缩包加密压缩与解压

热门文章

  1. 计算机书籍-前谷歌工程师撰写-机器学习实战
  2. ensp删除静态路由命令_(温州大学)路由与交换机 期末试卷及解析
  3. 双目立体匹配算法:Patch Match Stereo实用详解教程
  4. Visual与IMU多传感器融合的定位方案
  5. php symfony框架,PHP-Symfony2全栈框架的停用组件
  6. NeurIPS-21 | MGSSL: 基于官能团的分子属性预测图网络自监督预训练
  7. pyssdeep模块
  8. java二个整数相减_Java-消息框显示两整数加减乘除
  9. 《零基础免费学扩增子分析》视频课(含ppt及相应代码),无需转发,直接获取...
  10. JGG :微生物所王军-综述固有免疫细胞在胃肠道疾病中研究进展