- 浏览: 306181 次
- 性别:
- 来自: 郴州
文章分类
- 全部博客 (70)
- hadoop (0)
- lucene (1)
- heritrix (1)
- webservice (0)
- css+div (0)
- java (29)
- javaweb (3)
- spring (2)
- hibernate (3)
- struts (5)
- struts2 (3)
- tomcat (1)
- map/reduce (0)
- ajax (0)
- android (3)
- oracle (3)
- 面试题 (1)
- 生活 (0)
- 开发工具 (1)
- 面试实习 (0)
- 设计模式 (3)
- 数据结构 (5)
- 论坛 (2)
- flex (3)
- PureMVC (1)
- java,jdk (1)
- sql server (1)
- 报表 (1)
- 算法 (4)
- 工作 (0)
最新评论
-
lp895876294:
第三种方式类似于工厂方法模式了
设计模式之单例模式(三种实现方式) -
xchsh12345:
如果用的是linux服务器呢
解决利用iText导出PDF报表中文乱码两种方式 -
memoryisking:
写的不错,关于Timer和TimeTask的内容网上资料挺多的 ...
Java定时调度 Timer类和TimerTask类 -
linfeng0169:
写的不错~!不过就是解释的不算好!
Calendar类add()与roll()方法的区别 -
u013606853:
好流弊的样子,LZ V5~
hibernate注解详解
前段时间,由于开发需要使用google的搜索结果,结果怎么弄都报错连接超时,结果后来去官方去查看究竟,结果坑爹呀,google公司在2010年的11月1日就关闭了Webservice基于Soap的API,只提供Ajax访问。下面的这个是解决这个困境的方法:
搜索结果如下:
从中能看出规律吧,自己写个解析程序就OK了
package com.zzs.search; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; public class GoogleSearchTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub URL url = null; String keywords = "abc"; String start = "1"; try { url = new URL( "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&hl=zh-CN&rsz=large&q=" + keywords + "&start=" + start); } catch (MalformedURLException e1) { e1.printStackTrace(); } URLConnection connection = null; StringBuilder builder = new StringBuilder(); String builderStr = ""; String line; BufferedReader reader = null; try { // 发送请求,读取查询结果 connection = url.openConnection(); // connection.addRequestProperty("Referer", // "http://www.mysite.com/index.html"); reader = new BufferedReader(new InputStreamReader(connection .getInputStream(), "utf-8")); while ((line = reader.readLine()) != null) { builder.append(line); } builderStr = builder.toString(); System.out.println(builderStr); } catch (IOException e1) { e1.printStackTrace(); } /* * q q=Paris%20Hilton 该参数提供了传递到搜索器的查询或搜索表达式。 * v v=1.0 此参数可提供协议版本号。目前唯一有效的值为 1.0。 * rsz? rsz=small 该可选参数提供了应用程序要接收的结果数。值 small表示较小的结果集大小或 4 个结果。值 large 表示较大的结果集大小或 8 个结果。如果没有提供此参数,将假定值为 small。 * hl? hl=fr 此可选参数提供了提出请求的应用程序的宿主语言。如果未提供此参数,系统将根据 Accept-Language http标头的值选择一个值。如果此标题未显示,将假定值为 en。 * key? key=your-key 此可选参数提供了应用程序的密钥。如果指定了此参数 ,则此密钥必须是与您的网站(已通过传递的参考标头进行确认)关联的有效密钥。提供密钥的优点在于,我 们可以在您的应用程序出错时识别并联系您。如果没有密钥,我们仍会采取相同的适当措施,但是我们将无法联系您。强烈建议您最好提供一个密钥。 * start? start=4 该可选参数提供了第一个搜索结果的起始索引。每个成功的响应都包含了一个 cursor 对象(请参见下文),该对象包括一个 pages 的数组。页面的 start 属性可以用作该参数的有效值。 */ } }
搜索结果如下:
{"responseData": {"results":[{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://abcnews.go.com/","url":"http://abcnews.go.com/","visibleUrl":"abcnews.go.com","cacheUrl":"","title":"\u003cb\u003eABC\u003c/b\u003e News","titleNoFormatting":"ABC News","content":"ABCNews.com: Breaking News, Politics, World News, Good Morning America, Exclusive Interviews."},{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://abc.go.com/watch","url":"http://abc.go.com/watch","visibleUrl":"abc.go.com","cacheUrl":"http://www.google.com/search?q\u003dcache:poVfr19iF9UJ:abc.go.com","title":"Watch Full Episodes - \u003cb\u003eABC\u003c/b\u003e","titleNoFormatting":"Watch Full Episodes - ABC","content":"Watch full episodes from your favorite \u003cb\u003eABC\u003c/b\u003e programs online. The official \u003cb\u003eABC\u003c/b\u003e \u003cb\u003e...\u003c/b\u003e"},{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://abc.go.com/shows/desperate-housewives","url":"http://abc.go.com/shows/desperate-housewives","visibleUrl":"abc.go.com","cacheUrl":"http://www.google.com/search?q\u003dcache:H0P7mX35mMQJ:abc.go.com","title":"Desperate Housewives: Watch Full Episodes for Free Online - \u003cb\u003eABC\u003c/b\u003e.com","titleNoFormatting":"Desperate Housewives: Watch Full Episodes for Free Online - ABC.com","content":"The official Desperate Housewivespage on \u003cb\u003eABC\u003c/b\u003e offers a deeper look at the hit \u003cb\u003e...\u003c/b\u003e"},{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://en.wikipedia.org/wiki/American_Broadcasting_Company","url":"http://en.wikipedia.org/wiki/American_Broadcasting_Company","visibleUrl":"en.wikipedia.org","cacheUrl":"http://www.google.com/search?q\u003dcache:DI7iYqHzygwJ:en.wikipedia.org","title":"\u003cb\u003eAmerican Broadcasting Company\u003c/b\u003e - Wikipedia, the free encyclopedia","titleNoFormatting":"American Broadcasting Company - Wikipedia, the free encyclopedia","content":"The \u003cb\u003eAmerican Broadcasting Company\u003c/b\u003e (\u003cb\u003eABC\u003c/b\u003e) is an American television network. Created in 1943 from the former NBC Blue radio network, \u003cb\u003eABC\u003c/b\u003e is owned by The Walt \u003cb\u003e...\u003c/b\u003e"},{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://twitter.com/abc","url":"http://twitter.com/abc","visibleUrl":"twitter.com","cacheUrl":"http://www.google.com/search?q\u003dcache:DHkYr_pKNK8J:twitter.com","title":"\u003cb\u003eABC\u003c/b\u003e News (\u003cb\u003eABC\u003c/b\u003e) on Twitter","titleNoFormatting":"ABC News (ABC) on Twitter","content":"\u003cb\u003eABC\u003c/b\u003e News (\u003cb\u003eABC\u003c/b\u003e) is on Twitter. Sign up for Twitter to follow \u003cb\u003eABC\u003c/b\u003e News (\u003cb\u003eABC\u003c/b\u003e) and get their latest updates."},{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://www.abc.org/","url":"http://www.abc.org/","visibleUrl":"www.abc.org","cacheUrl":"http://www.google.com/search?q\u003dcache:hoLnleEslnwJ:www.abc.org","title":"\u003cb\u003eABC\u003c/b\u003e - Associated Builders \u0026amp; Contractors, Inc - Home","titleNoFormatting":"ABC - Associated Builders \u0026amp; Contractors, Inc - Home","content":"National trade association representing merit shop contractors, subcontractors, material suppliers and related firms in the United States."},{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://pingpong-abc.sourceforge.net/","url":"http://pingpong-abc.sourceforge.net/","visibleUrl":"pingpong-abc.sourceforge.net","cacheUrl":"http://www.google.com/search?q\u003dcache:OIiCTLrardcJ:pingpong-abc.sourceforge.net","title":"\u003cb\u003eABC\u003c/b\u003e [Yet \u003cb\u003eAnother Bittorrent Client\u003c/b\u003e]","titleNoFormatting":"ABC [Yet Another Bittorrent Client]","content":"Forked from Bittornado, handles multiple torrents."},{"GsearchResultClass":"GwebSearch","unescapedUrl":"http://www.accessabc.com/","url":"http://www.accessabc.com/","visibleUrl":"www.accessabc.com","cacheUrl":"http://www.google.com/search?q\u003dcache:tcxxMtiqZFIJ:www.accessabc.com","title":"\u003cb\u003eAudit Bureau of Circulations\u003c/b\u003e","titleNoFormatting":"Audit Bureau of Circulations","content":"Non-profit association of advertisers, ad agencies and publishers. Provides media audits, publisher statements, news bulletins, press and conference \u003cb\u003e...\u003c/b\u003e"}],"cursor":{"pages":[{"start":"0","label":1},{"start":"8","label":2},{"start":"16","label":3},{"start":"24","label":4},{"start":"32","label":5},{"start":"40","label":6},{"start":"48","label":7},{"start":"56","label":8}],"estimatedResultCount":"29000000","currentPageIndex":0,"moreResultsUrl":"http://www.google.com/search?oe\u003dutf8\u0026ie\u003dutf8\u0026source\u003duds\u0026start\u003d1\u0026hl\u003dzh-CN\u0026q\u003dabc"}}, "responseDetails": null, "responseStatus": 200}
从中能看出规律吧,自己写个解析程序就OK了
评论
3 楼
zcyjava
2011-10-20
这种方法取出来的结果数是29000000(读取estimatedResultCount),
如果从GOOGLE的页面点击按钮搜索出来的结果数是 686000000,为什么结果不想同啊?是不是GOOGLE进行限制啊!
如果从GOOGLE的页面点击按钮搜索出来的结果数是 686000000,为什么结果不想同啊?是不是GOOGLE进行限制啊!
2 楼
xiaoyangok
2011-08-25
不知你有没发现,或者有其他更好方法?
1 楼
xiaoyangok
2011-08-25
请求次数有限制!
发表评论
-
利用微软翻译API替代被停用谷歌翻译API
2012-02-13 13:37 10414众所周知,谷歌已经不支持翻译API1版本了,现在提供了A ... -
(转)Java回调实现
2011-12-08 14:38 1156Java回调实现 轮询:过10分钟就到女朋友宿舍前面去看她有 ... -
java实现排序算法之插入排序(直接插入排序、折半插入、shell排序)
2011-09-15 09:29 2508插入排序主要包括直接插入排序、shell排序和折半插入等几种排 ... -
java实现排序算法之交换排序(冒泡排序、快速排序)
2011-09-14 21:28 2616交换排序的主体操作是对数组中的数据不断进行交换操作。交换排序主 ... -
java实现排序算法之选择排序(直接选择排序、堆排序)
2011-09-14 20:44 2665常用的选择排序算法有两种:直接选择排序和堆排序。 一、直接选择 ... -
java 实现数据结构之队列
2011-09-14 15:27 12645队列是一种特殊的线性表,它只允许在表的前端(front)进行删 ... -
java 实现数据结构之线性表
2011-09-14 11:44 10696应用程序后在那个的数据大致有四种基本的逻辑结构: 集合:数 ... -
java 实现undo和redo操作链表的一种实现
2011-09-14 10:32 2162今天在iteye论坛逛,发现有这么一道笔试题目:实现一个可以增 ... -
jdbc连接mysql oracle sql server数据库的连接字符串
2011-09-13 10:41 2745jdbc连接mysql oracle sql serv ... -
java 利用label标记退出多重循环
2011-09-10 09:16 12081学过C语言的都知道,有个goto关键字,利用goto关键字可以 ... -
深入JDK源代码之定时操作Timer类和TimerTask类实现
2011-07-26 14:45 3502Timer类是一种线程设施,可以用来实现某一个时间或某 ... -
(转)Java中对象的深复制(深克隆)和浅复制(浅克隆)
2011-07-25 20:31 12241.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象 ... -
深入JDK源代码之LinkedList类
2011-07-26 09:09 1918public class LinkedList<E> ... -
Java中的transient关键字
2011-07-25 14:36 24922transient说明一个属性是临时的,不会被序列化。 下面是 ... -
深入JDK源代码之Observer接口和Observable类实现观察者模式
2011-07-25 11:46 3445一、何为观察者模式? 观察者模式(有时又被称为发布/ ... -
深入JDK源代码之ArrayList类
2011-07-22 11:19 2943public class ArrayList<E&g ... -
深入JDK源代码之Arrays类中的排序查找算法
2011-07-22 09:58 3984最近在暑假实习, ... -
java 实现数据结构之栈
2011-07-10 21:51 4673在学数据结构课程 ... -
Java定时调度 Timer类和TimerTask类
2011-07-10 15:38 23941Timer类是一种线程设施,可以用来实现某一个时间或某一段 ... -
Calendar类add()与roll()方法的区别
2011-07-06 22:45 10964JDK API中对这两个方法的说明如下: abstract ...
相关推荐
Google Custom Search API允许开发者通过JSON格式获取搜索结果,然后在网页上展示。 2. **index.html**: 这是网页的结构文件,它定义了用户界面,包括搜索框、搜索按钮以及显示搜索结果的区域。HTML中会包含引用...
开发者需要创建一个Google Custom Search Engine并获取API密钥,然后通过HTTP请求向API发送查询,返回的JSON数据包含了搜索结果的相关信息,如标题、链接和摘要等。谷歌的API通常提供更高级的功能,如自定义排序、...
最新修改版的谷歌离线API已经移除了这个限制,让用户能够顺畅地在本地使用API,而不会被谷歌的警告或禁用提示所干扰。 【关键知识点】 1. **离线地图数据存储**:离线API需要预先下载地图数据,这些数据通常包括...
利用Google搜索引擎API,实现本地,指定网站等图片,文字等信息检索
开发者可以通过解压并检查这些文件来理解项目的实现细节,包括如何设置和调用Google Custom Search API,以及如何处理和展示搜索结果。 在实际应用中,使用Google Custom Search API需要具备一定的编程基础,如...
谷歌拼音输入法API是谷歌为开发者提供的一种工具,允许他们集成谷歌拼音输入法的功能到自己的应用程序或网站中,提升用户在输入中文时的体验。这个API不仅提供了基本的拼音输入功能,还可能包括智能纠错、词语联想、...
5. **搜索结果处理**:收到API响应后,开发者需要解析JSON数据,提取出搜索结果中的相关信息,如标题、链接、摘要等,然后在用户界面展示。 6. **网页渲染**:如果需要在网页上实现这个自定义搜索引擎,需要掌握...
Google搜索客户端API是Google提供的一种服务,允许开发者通过编程方式与Google搜索引擎进行交互,获取搜索结果,而无需直接访问网页。这个API通常基于HTTP请求和JSON响应,使得开发者可以轻松地集成到各种应用中,...
谷歌地图 离线api
谷歌搜索API 简单的谷歌搜索 API。 要求 使用 querystring query向端点发出一个简单的GET请求,如下例所示: curl https://googlesearch.herokuapp.com/api/search ? query=maru+the+cat 回复 带有title 、 blurb...
google 地图 API 文档 Google 地图 API 是一款功能强大且广泛应用的 Web 服务,允许开发者在自己的网站中嵌入 Google 地图,添加丰富的功能和交互性,提供更好的用户体验。下面是 Google 地图 API 的基础知识点和...
谷歌地图 Google Map API V3 中文开发文档 谷歌地图 Google Map API V3 中文开发文档是 Google 公司提供的一种基于 Web 的地图应用程序接口,允许开发者在自己的网站或应用程序中嵌入谷歌地图,以提供地图检索、...
谷歌API是Google为开发者提供的一系列接口,允许他们与Google的各种服务...然而,需要注意的是,Google AJAX Search API已在2015年被弃用,现在的开发可能需要转向Google Custom Search JSON API或其他更新的解决方案。
在IT行业中,Google搜索客户端API是一个非常重要的工具,它允许开发者通过编程方式访问Google的搜索引擎,获取相关的搜索结果。这个压缩包"商业编程-源码-Google搜索客户端API示例代码.zip"显然包含了使用Google搜索...
Google Map API V3是Google提供的一个JavaScript库,用于在网页上嵌入交互式地图。这个API提供了丰富的功能,如定位、路线规划、地图缩放和平移等。在这个压缩包中,包含了使用Google Map API V3来实现离线地图的...
标题中的“google的一个API接口:引用搜索结果.pdf”指的是Google提供的AJAX搜索API,这是一个用于在网页上实现动态、无需刷新页面的搜索功能的技术。这个API允许开发者通过JavaScript调用Google的搜索服务,获取并...
在Google AJAX Search API中,AJAX技术用于实现用户输入查询后即时显示搜索结果。 2. **API使用流程** 使用Google AJAX Search API时,首先需要在Google Developers Console注册项目,获取API密钥。然后在客户端...
这些API允许开发者将Google的功能集成到自己的应用中,实现如地理位置服务、数据存储、搜索结果嵌入等功能。例如,Google Maps JavaScript API可以让开发者在网页上嵌入交互式地图,而Google Cloud Storage API则...
谷歌地图API是Google提供的一项强大的服务,允许开发者在自己的应用程序中集成谷歌地图的功能,从而创建出具有地图展示、定位、导航等多种功能的应用。这个“googleAPI完整版下载”可能包含了完整的谷歌地图API文档...
在IT行业中,谷歌API(Google Application Programming Interface)是开发者广泛使用的工具,用于集成谷歌的各种服务,如地图、搜索、翻译等。在这个“谷歌API和英国地址案例”中,我们将探讨如何利用谷歌API来处理...