[Google API](3)创建搜索

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

需要的类

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

  • 用于 SOAP 类的 Java 包装器类,在 package com.google.soap.search 中。
  • Java Activation Framework 1.0.1,通常您可以在 activation.jar 中找到。
  • JavaMail TM API,通常您可以在 mailapi.jar 中找到。
  • Apache SOAP 2.2 工具箱,通常您可以在 apache-soap-22.jar 中找到。
  • Apache Crimson 1.1.3,通常您可以在 crimson.jar 中找到。(请注意,这是 Crimson,而“不是”Xerces。这两者处理 XML 的方式相似,但不完全相同。)

  请注意在 googleapi.jar 中不包括 Java API for XML Messaging(JAXM),但使用 Google API 不一定需要。


  创建搜索

  您将从此处开始实际创建一个简单的搜索,执行它,然后研究结果。示例中会展示一些简单的应用程序,它们的结果会输出到命令行;您怎么处理最终数据是您的事。

 
 

  在这个示例中主要的对象是 GoogleSearch。使用的时候,你要设置参数,然后实际执行搜索,就会有结果返回。

  请注意,setKey() 让您将个人的授权码发到应用程序。请用您注册 Google 帐户时收到的授权码替换这些零。

  除此之外,执行搜索所需要的就只有搜索项本身了。我会在构造搜索中更多的说到构建搜索,但目前就认为您可以搜索任何词或词组。

  您一设置好授权码和搜索项,就为实际执行搜索做好了准备。


  执行搜索

  实际上,执行搜索相当方便:

 
 
 
 

  doSearch() 方法依据前一屏中设定的查询条件进行搜索,返回对象 GoogleSearchResult,可以使用它携带的方法来访问数据。特别有用的一点信息是结果的个数以及该数字是否准确。

  例如,如果编译和运行这个应用程序时使用了命令行参数:"science fiction"(包括引号),它将返回如下文本:

  Estimated number of results: 1790000

  在向 Web 服务请求信息时,任何事情都可能出错,Google API 包括了 GoogleSearchFault 类,它充当可能出现的任何异常的包装器。


  检索结果

  检索结果本身并不难。GoogleSearchResult 对象就提供了一种查找结果本身的简单方式:

 
 

  被覆盖掉的 toString() 方法提供了一种很方便的方法来查看结果。例如,同样搜索 "science fiction" 将返回如下的结果:

 
 

  以上这个不完整的清单中展示了每个结果的一些可用信息。虽然我想从检索结果集开始提取(以及控制)一些信息,但首先要看一下影响 Google 搜索本身的一些因素。


  构造搜索

  找什么都能找到的关键是知道问些什么。这对于 Google 同样正确。API 搜索使用的算法和 Web 搜索的一模一样,因此这将有助于理解。

当您要找的词不止一个时,Google 将只返回那些包含所有搜索项的页面,但不一定是按所请求的顺序。例如,搜索项

  science fiction

  将返回包含“science”和“fiction”这两个词的所有页面,只要它们在文中某处出现过,不管是在正文、标题还是 URL 中,也不管它们是不是作为整体出现。硬要它们作为整体出现,则搜索项必须是

  "science fiction"

  引号使 Google 只去搜索作为词组的搜索项。要搜索包含其中一个词的页面,请使用

  science OR fiction

  注意,OR 必须大写,否则它将会被当作停止词。


  停止词和其它搜索修饰词

  停止词是指从查询中略去的常见词。它们包括 the、and、a、or 以及 how,等等。硬要在查询中包括停止词,请在前面冠以加号(+),如

  "+the science +of fiction"

  注意,只是用引号把词组括住还不足以总能使常见词被包括在内。

  同样,您可以使用减号(-)排除一些项,如

  science -fiction

  它将只返回有关科学方面的结果。

  Google 还查询将确定在哪里寻找搜索项的许多不同修饰词。这些修饰词包括:

  intitle:
  allintitle:
  inurl:
  allinurl:
  allintext:
  allinlinks:
  filetype:
  link:
  daterange:

  这些修饰词可以与其它搜索词结合起来以筛选结果集。例如,查询

  "science fiction" daterange:2452365-2452395

  在索引中找到时间在 2002 年 4 月 1 日到 2002 年 4 月 30 日之间的所有包含词组 "science fiction" 的页面。(请注意,可以在索引中搜索更老的信息。) 

相关文章
|
5月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
6月前
|
机器学习/深度学习 JSON 监控
淘宝拍立淘按图搜索与商品详情API的JSON数据返回详解
通过调用taobao.item.get接口,获取商品标题、价格、销量、SKU、图片、属性、促销信息等全量数据。
|
7月前
|
缓存 API 网络架构
淘宝item_search_similar - 搜索相似的商品API接口,用python返回数据
淘宝联盟开放平台中,可通过“物料优选接口”(taobao.tbk.dg.optimus.material)实现“搜索相似商品”功能。该接口支持根据商品 ID 获取相似推荐商品,并返回商品信息、价格、优惠等数据,适用于商品推荐、比价等场景。本文提供基于 Python 的实现示例,包含接口调用、数据解析及结果展示。使用时需配置淘宝联盟的 appkey、appsecret 和 adzone_id,并注意接口调用频率限制和使用规范。
|
11月前
|
API 开发者 Python
如何在API中实现搜索和过滤功能
本文介绍了如何为API添加搜索和过滤功能,使其更强大灵活。通过Flask示例,展示了按书名搜索、按作者或年份过滤书籍的方法,并结合两者实现复合查询。同时,提供了搜索不区分大小写、支持多过滤器组合、分页和输入验证等最佳实践。最后推荐了Apipost工具,它能简化API调试、负载测试及文档生成,提升开发效率。这些功能帮助用户更好地控制数据,优化API使用体验。
|
5月前
|
人工智能 自然语言处理 测试技术
Apipost智能搜索:只需用业务语言描述需求,就能精准定位目标接口,API 搜索的下一代形态!
在大型项目中,API 数量庞大、命名不一,导致“找接口”耗时费力。传统工具依赖关键词搜索,难以应对语义模糊或命名不规范的场景。Apipost AI 智能搜索功能,支持自然语言查询,如“和用户登录有关的接口”,系统可理解语义并精准匹配目标接口。无论是新人上手、模糊查找还是批量定位,都能大幅提升检索效率,降低协作成本。从关键词到语义理解,智能搜索让开发者少花时间找接口,多专注核心开发,真正实现高效协作。
|
5月前
|
存储 API 数据库
按图搜索1688商品的API接口
本文介绍如何利用阿里云ImageSearch服务实现1688商品的按图搜索功能。通过提取图像特征向量并计算相似度,结合Flask搭建API接口,可快速构建基于图片的商品检索系统,提升电商用户体验。
566 0
|
5月前
|
JSON API 开发者
1688按关键词搜索商品的API接口技术指南
本文介绍如何使用1688开放平台API实现商品关键词搜索,涵盖API概述、权限申请、调用步骤、Python代码示例及注意事项,助力开发者高效集成商品搜索功能,适用于电商自动化、价格监控等场景,内容基于官方文档,确保准确可靠。
625 0
|
5月前
|
存储 缓存 算法
亚马逊 SP-API 深度开发:关键字搜索接口的购物意图挖掘与合规竞品分析
本文深度解析亚马逊SP-API关键字搜索接口的合规调用与商业应用,涵盖意图识别、竞品分析、性能优化全链路。通过COSMO算法解析用户购物意图,结合合规技术方案提升关键词转化率,助力卖家实现数据驱动决策,安全高效优化运营。
|
6月前
|
JSON 自然语言处理 监控
淘宝关键词搜索与商品详情API接口(JSON数据返回)
通过商品ID(num_iid)获取商品全量信息,包括SKU规格、库存、促销活动、卖家信息、详情页HTML等。
|
7月前
|
API
1688API关键字和搜索
1688作为中国领先的B2B电商平台,提供API接口以提升用户搜索效率。通过API,用户可实现关键字搜索、筛选及排序功能,从而获取更精准的产品信息。注册账号并获取许可证后,用户可利用GET或POST请求集成API至自身应用中,有效优化采购与营销流程。
1688API关键字和搜索

热门文章

最新文章

推荐镜像

更多