Google Web APIs
即使在你的 Java、Perl或Visual Studio .NET 的普通应用程序中,使用Google Web APIs,查询也变得很简单。你甚至可以做一个和 www.google.com 网站从外观到功能都一模一样的个人网站(除了每天最多只可以查询1000词以外)。 对于JSP开发人员来说,还可以利用经过进一步封装的Google Tag Library来加快你的开发。Google Tag Library 的文档也很详细。
下载好的googleapi.zip中自带了一些例子。下面是山田祥寛发表在@IT的JSP示例代码的一部分。我只是简单地翻译了一下注释。
google.jsp的代码(setKey中的License Key请换上你自己申请的)
<%@ page contentType="text/html;charset=Windows-31J" import="com.google.soap.search.*" %>
<% request.setCharacterEncoding("Windows-31J"); %>
<html>
<head>
<title>Google搜索</title>
</head>
<body>
<form method="POST" action="google.jsp">
搜索关键字:
<input type="text" name="q" size="30" />
<input type="submit" value="搜索" />
</form>
<a href="http://www.google.com/apis/">ご参考</a>
<%
// 只有在搜索关键字已输入时才执行搜索处理
if(request.getParameter("q")!=null && !request.getParameter("q").equals("")){
GoogleSearch objGs=new GoogleSearch();
objGs.setQueryString(request.getParameter("q")); //搜索关键字
objGs.setLanguageRestricts("lang_ja"); // 对象语言
objGs.setMaxResults(10); // 最大输出件数
objGs.setStartResult(1); // 输出开始的索引号
objGs.setSafeSearch(true); // 是否屏蔽有害页面
objGs.setKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); // License Key
// 执行搜索
GoogleSearchResult objGsr=objGs.doSearch();
// 取得搜索结果以及被抽出的详细情报
GoogleSearchResultElement[] objGsre=objGsr.getResultElements();
%>
<hr />
<h2>搜索关键字:<%=objGsr.getSearchQuery()%></h2>
<h3>搜索到了<%=objGsr.getEstimatedTotalResultsCount()%>个站点。搜索用时:<%=objGsr.getSearchTime()%>秒。</h3>
<% if(objGsr.getEstimatedTotalResultsCount()==0){ %>
(您是不是要找:「 <%=objGs.doSpellingSuggestion(request.getParameter("q"))%> 」)
<% } %>
<dl>
<%--从详细搜索结果中取得标题、URL、站点概要介绍--%>
<% for(int i=0;i<objGsre.length;i++){ %>
<dt><a href="<%=objGsre[i].getURL()%>"><%=objGsre[i].getTitle()%></a></dt>
<dd><%=objGsre[i].getSnippet()%>
<br />
<font size="-1">
<a href="google.jsp?q=related:<%=objGsre[i].getURL()%>">类似网页</a> /
<a href="google.jsp?q=link:<%=objGsre[i].getURL()%>">网页快照</a> /
快照大小: <a href="google_cache.jsp?url=<%=objGsre[i].getURL()%>"><%=objGsre[i].getCachedSize()%></a>
</font>
<p />
</dd>
<% } %>
</dl>
<%
}
%>
</body>
</html>
google_cache.jsp的代码(setKey中的License Key请换上你自己申请的)
<%@ page contentType="text/html;charset=Windows-31J"
import="com.google.soap.search.*" %>
<%
GoogleSearch objGs=new GoogleSearch();
objGs.setKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
out.print(new String(objGs.doGetCachedPage(request.getParameter("url"))));
%>

0 Comments:
发表评论
Links to this post:
创建链接
<< Home