【问题标题】:Google Local Search API + Python谷歌本地搜索 API + Python
【发布时间】:2011-12-27 23:03:51
【问题描述】:

我正在尝试创建一个程序(在 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 个。我该如何超越?

提前感谢您的所有帮助

【问题讨论】:

    标签: python ajax json urllib2 google-local-search


    【解决方案1】:

    Google 只允许 4 页上的 32 个。您获得的 URL 用于分页。检查此链接

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

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

    【讨论】:

    • 感谢您的及时答复。非常令人失望的是,您只得到 32 个结果,仅此而已!难怪我一直在尝试并且尝试无济于事。无论如何,再次感谢。 :)
    【解决方案2】:

    您确定您对 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
    

    等等

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多