我正在尝试创建一个程序(在python中),它将输出查询Google的本地搜索并将结果打印到控制台。我希望能够搜索“伦敦的咖啡馆”,并在屏幕上显示公司名称地址和电话号码。 我在以下网址找到了一个易于使用的Google地图和本地搜索API的Python包装器:
http://py-googlemaps.sourceforge.net/#googlemaps-methods
包装器必须以JSON格式返回数据,但它似乎只返回可用数千个中的32个结果。我的问题是我如何访问更多?
代码执行如下操作:
url = query_url + encoded_params
request = urllib2.Request(url, headers=headers)
response = urllib2.urlopen(request)
return (url, json.load(response))
这导致网址:
/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
..和JSON格式化数据 url的差异是'start ='值增加8.但是当替换start = 32时,我得到一个错误。最大结果数似乎锁定为总共32。我该如何超越它?
提前感谢您的所有帮助
答案 0 :(得分:1)
Google只允许4页中的32页。您获得的URL是分页。检查此链接
http://code.google.com/apis/maps/documentation/localsearch/devguide.html
并搜索 “使用ctrl-F
在该页面上无法获得更多答案 1 :(得分:0)
您确定使用Google API符合TOS吗?我不是律师,但我记得不允许保存或重复使用结果。
话虽如此,还有另一种方法。你可以屏幕刮掉结果。不是我当然会推荐这样的非法活动。 这样你就可以使用这样的url来检查结果:
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
等
在任何情况下,结果编号都是这样限制的。