首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google本地搜索API + Python

Google本地搜索API + Python
EN

Stack Overflow用户
提问于 2011-12-28 07:03:52
回答 2查看 660关注 0票数 0

我正在尝试创建一个程序(在python中),该程序将输出query Google的本地搜索并将结果打印到控制台。我希望能够搜索“伦敦咖啡馆”,并将公司名称、地址和电话号码打印在屏幕上。我在上找到了Google Maps和Local Search API的一个易于使用的Python包装器,网址为:

http://py-googlemaps.sourceforge.net/#googlemaps-methods

包装器基本上返回JSON格式的数据,但它似乎只返回数千个可用结果中的32个。我的问题是如何访问更多内容?

代码如下所示:

代码语言:javascript
复制
url = query_url + encoded_params
request = urllib2.Request(url, headers=headers)
response = urllib2.urlopen(request)
return (url, json.load(response))

这就产生了urls:

代码语言:javascript
复制
/local?q=cafe+near+London&start=0&rsz=large&v=1.0
/local?q=cafe+near+London&start=8&rsz=large&v=1.0
/local?q=cafe+near+London&start=16&rsz=large&v=1.0
/local?q=cafe+near+London&start=24&rsz=large&v=1.0        

..and JSON格式的数据urls中的差异是' start=‘值递增8。但是,当替换start= 32时,我得到一个错误。结果的最大数量似乎锁定在总共32个。我该如何超越这一点?

提前感谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2011-12-28 07:13:17

谷歌只允许在4页上使用32页。您得到的URL是用于分页的。检查此链接

http://code.google.com/apis/maps/documentation/localsearch/devguide.html

然后使用ctrl-F在该页面上搜索“没有办法获得更多”

票数 1
EN

Stack Overflow用户

发布于 2011-12-28 17:56:46

您确定您使用的Google API符合TOS吗?我不是律师,但我记得保存或重复使用结果是不允许的。

话虽如此,还有另一种方法。你可以只对结果进行屏幕抓取。当然,我不会推荐这样的非法活动。这样,您就可以使用如下的url来查看结果:

代码语言:javascript
复制
http://www.local.google.com/?q=café+in+London&start=0
http://www.local.google.com/?q=café+in+London&start=10
http://www.local.google.com/?q=café+in+London&start=20
http://www.local.google.com/?q=café+in+London&start=30

等。

在任何情况下,结果数以这种方式限制为160。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8650162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档