Python Web 服务开发人员: 现实世界,第一部分
2007-03-29 12:42:00 来源:WEB开发网核心提示: 清单6是运行 清单5中的代码的纯文本输出,在显示了搜索中的一些状态之后,Python Web 服务开发人员: 现实世界,第一部分(6),我们将遍历每个结果——这里显示了这些结果的标题和 URL,Google API 限定每次搜索取10个结果,它已装载到浏览器中,注意
清单6是运行 清单5中的代码的纯文本输出。在显示了搜索中的一些状态之后,我们将遍历每个结果——这里显示了这些结果的标题和 URL。Google API 限定每次搜索取10个结果。注意作为 SOAP 响应的一部分返回的搜索时间——从33亿个 Web 页面中找到超过100,000个(估计)纪录的时间少于十分之一秒。 Google Web API 为强大的 Web 服务提供了易于使用的接口。
如前所述,Google API 提供了比搜索更多的特征——通过 SOAP 接口也可以进行拼写建议和检索缓存的 Web 页面。下面继续我们前面讲过的“owl”主题,在 清单7中,我们使用 SOAPpy 中的 SOAPProxy 来获取 “www.owl.org” 的缓存版本。注意,获取缓存的 Web 页面的请求和响应笔搜索 Web 页面的请求和响应(分别为 doGetCachedPage() 和 results )要容易得多。我们只需通过代理调用 doGetCachedPage() 来传递我们的 license key 和请求的 Web 页面就可以了。
清单7. 使用 SOAP.py 通过 Google API 获取缓存的 Web 页面
from SOAPpy import SOAPProxy
from SOAPpy import Types
# CONSTANTS
_url = 'http://api.google.com/search/beta2'
_namespace = 'urn:GoogleSearch'
# create SOAP proxy object
google = SOAPProxy(_url, _namespace)
# Google search options
_license_key = 'INSERT YOUR KEY HERE'
_query = 'www.owls.org'
# call search method over SOAP proxy
results = google.doGetCachedPage( _license_key, _query )
# store results
of = open('cached_page_response.html', 'w')
of.write(results)
of.close()
Google API 返回缓存的base64 编码的页面。在接收到响应之后,SOAPpy 可以很方便地把这种格式的页面解码为 html——然后,我们把它保存到文件系统中,这样就可以通过浏览器进行查看了。这是一个简单的接口,也许是世界上最大的(也是最完整的)整个 Web 的缓存的接口。 图1显示了返回的页面,它已装载到浏览器中。注意,Google 带有一个消息头(header)来标识由 Google 缓存的页面。
更多精彩
赞助商链接