Python - 使用"Google AJAX搜索"API的本地搜索对象
我刚开始使用谷歌的搜索API来查找地址和这些地址之间的距离。我用的是geopy这个工具,但我经常遇到一个问题,就是查询的地址不太准确。所以我决定尝试一下谷歌的“本地搜索”(http://code.google.com/apis/ajaxsearch/local.html)。
我想问一下,我能不能在python中使用API提供的“本地搜索”对象。感觉好像不行,我必须使用json格式。有没有人知道有没有什么解决办法?
顺便说一下,我想做一个像这样的东西:http://www.google.com/uds/samples/random/lead.html ... 只是我想做成一个矩阵,里面填满地址之间的距离。
谢谢你的阅读!
2 个回答
本地搜索还有哪些其他参数呢?有没有办法为查询设置一个北、南、东、西的边界框?http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=...
根据文档的说明,
Google AJAX搜索API是一个JavaScript库,它可以让你把Google搜索嵌入到你的网页和其他网络应用中。如果你使用Flash或其他不支持JavaScript的环境,这个API提供了一个原始的RESTful接口,可以返回JSON格式的结果,这种格式大多数编程语言都能轻松处理。
Python处理JSON没有任何问题(比如在2.6及以上版本中可以使用标准库里的json
模块,还有一些第三方库,比如在早期版本中使用的simplejson
,它是今天标准json
的前身)。所以,关键在于如何正确使用这个RESTful接口,因为大多数Google API并没有直接为某些非JavaScript语言封装。
这里的代码示例包括Flash、Php、Java、Python和Perl,它们的核心都是访问一个特定的URL,比如在Python中使用urllib2
,然后处理返回的JSON数据,比如在(2.6之前的)Python中使用simplejson
。
这些RESTful代码示例中的所有查询都是针对网页搜索的,但本地搜索非常相似,只需在请求的URL中开始使用:
http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=...
也就是说,在URL中用local
替代web
。