如何获取非本人谷歌账号下指定地点的全部谷歌评论?通过Location ID可行吗?
获取指定谷歌地点全部评论的解决方案
合规实现方式:使用谷歌Places API
要获取非本人账号下地点的全量评论,官方唯一合规的途径是通过谷歌Places API,具体操作如下:
前置准备:
- 注册谷歌云账号,启用Places API服务
- 创建API密钥,并配置好请求权限与配额限制
全量评论获取流程:
- 首次请求基础评论:调用Place Details端点,传入客户提供的
place_id(即Location ID),指定fields=reviews参数。首次请求默认返回最多5条评论,若存在更多评论,响应会包含next_page_token - 分页拉取剩余评论:检测到
next_page_token后,等待2-3秒(谷歌强制的冷却时间),再次调用Place Details端点并带上pagetoken=<next_page_token>参数,重复此步骤直到响应中无next_page_token,即可收集到全部评论
- 首次请求基础评论:调用Place Details端点,传入客户提供的
Python代码示例:
import requests import time API_KEY = "你的谷歌API密钥" PLACE_ID = "客户提供的Location ID" def fetch_all_reviews(place_id, api_key): all_reviews = [] base_url = f"https://maps.googleapis.com/maps/api/place/details/json?place_id={place_id}&fields=reviews&key={api_key}" while True: res = requests.get(base_url) data = res.json() if "result" in data and "reviews" in data["result"]: all_reviews.extend(data["result"]["reviews"]) # 终止条件:无下一页令牌 if "next_page_token" not in data: break # 等待冷却后请求下一页 time.sleep(2) base_url = f"https://maps.googleapis.com/maps/api/place/details/json?place_id={place_id}&fields=reviews&pagetoken={data['next_page_token']}&key={api_key}" return all_reviews # 调用示例 reviews = fetch_all_reviews(PLACE_ID, API_KEY) for i, review in enumerate(reviews, 1): print(f"评论{i}: {review['text']} | 评分: {review['rating']}")
关键注意事项
- 合规性:严禁使用爬虫抓取谷歌地图网页内容,否则会触发反爬机制,甚至违反谷歌服务条款
- 配额限制:Places API有免费配额上限,若业务量较大需升级付费方案,避免请求被限流
- 展示规范:展示评论时需保留原始信息(如评论者头像、用户名、评分),不得篡改或隐藏谷歌相关标识
内容的提问来源于stack exchange,提问作者Archetylator
相关产品推荐
相关产品推荐

