7 天试用

Tripadvisor 爬虫,​按页计费,​不按评论

输入酒店、餐厅或景点,Web Unlocker 就返回它的 Tripadvisor 页面:评分、排名、各项得分和带业主回复的评论,每页 10 条,按 1 页计费。页面加载失败不收费。

试试:

1,000 次免费请求 · 仅成功时计费 · 195+ 个国家和地区 · 适配 Claude

tripadvisor.com/Hotel_Review-g60745-d8316858-Reviews-The_Godfrey_Hotel_Boston-Boston_Massachusetts.html示例运行 · 9,547 条评论 · 本页 10 条 · 10.3 秒
下载
  1. 用 Tripadvisor 自己的搜索找到该地点
  2. 在美国用真实浏览器加载它的页面
  3. 读取评分、各项得分和评论

准备好采集自己的地点了吗?获取 API 密钥,或预约演示。

获取 API 密钥和免费请求额度

简单介绍一下您的团队,即可获得:

  • 一个工作日内发放 API 密钥
  • 可在您自己的目标站点上使用免费请求
G2 评分 4.7 / 5基于 79 条评价
预约演示

无需绑定银行卡,随时可取消。我们会在一个工作日内回复您。

采集 10,000 条 Tripadvisor 评论只需 $0.98

一个 Tripadvisor 酒店页面包含 10 条评论,餐厅页面包含 15 条,连同评分和业主回复,Web Unlocker 按 1 页计费。Apify 或 Bright Data 上的 Tripadvisor 评论采集工具则按每条评论计费。

再难的页面,
价格与普通页面相同。

页面加载失败不收费。波士顿 The Godfrey Hotel 的 9,260 条英文评论共 926 页:$0.91。

10,000 条 Tripadvisor 评论的费用

1,000 个各含 10 条评论的酒店页面,按公布价格计算

  • $0.98Gologin Web Unlocker
  • $15Bright Data
  • $19Reviews Scraper(基于 Apify)
  • $38Outscraper

Web Unlocker 的 Growth 套餐,每 1,000 个页面 $0.98。其他产品按每条评论计费:Bright Data 按即用即付价格,Apify 上使用最多的 actor 按 Apify 的 $19 套餐,Outscraper 在其 500 条免费评论之后。

准备好用在您自己的酒店上了吗?获取 API 密钥和免费请求额度。

100 个 Tripadvisor 页面中​有 94 个一次就返回

我们的 Tripadvisor 采集测试:一百个页面,每个一次请求,不重试:从波士顿到东京的酒店、深入酒店历史的评论页面、餐厅、景点和城市列表。下面是返回的结果和速度。

没有返回的页面计费 $0。
您为页面付费,而不是为尝试次数付费。

采集一家酒店的 9,260 条英文评论,​只需 $0.91

Tripadvisor 向每位访客显示每一条评论,酒店页面每页 10 条,餐厅页面每页 15 条,每一页都链接到下一页。您的 Tripadvisor 爬虫顺着这个链接一直读到最后一页:波士顿的 The Godfrey Hotel 共 926 页,一直追溯到 2016 年 1 月的第一条评论。

Tripadvisor 自己的 API 提供的是由合同设定的评论池。
页面显示每一条评论。

如何用 Python 或 Node.js 采集 Tripadvisor 评论

Tripadvisor 网页采集每页只需一个请求:发送酒店、餐厅或景点的 Tripadvisor 地址,取回页面,读取评分、排名和评论。每一页都链接到下一页,所以每一条评论都只差一个循环。

  1. 步骤 01

    获取 API 密钥

    填写上面的表单。密钥会在一个工作日内通过邮件送达。

  2. 步骤 02

    发送地点的地址

    它在您浏览器中打开时的 Tripadvisor 页面地址,以及要从哪个国家打开。

  3. 步骤 03

    读取评论

    页面包含评分、排名和 10 到 15 条评论,每条评论都有评分、正文、日期和业主回复。

安装
pip install requests
运行
GOLOGIN_SCRAPING_API_KEY=your_key python tripadvisor_reviews.py
发送至
https://parsing.webunlocker.gologin.com/v1/scrape
import json
import os
import re
import time
from html import unescape

import requests

address = "https://www.tripadvisor.com/Hotel_Review-g60745-d8316858-Reviews-The_Godfrey_Hotel_Boston-Boston_Massachusetts.html"


def scrape(url):
    for attempt in range(3):
        response = requests.get(
            "https://parsing.webunlocker.gologin.com/v1/scrape",
            headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
            params={
                "url": url if attempt == 0 else f"{url}?_r={int(time.time())}",
                "geo": "us",
                "format": "json",
            },
            timeout=120,
        )
        html = response.json().get("data", {}).get("html", "")
        if "ShowUserReviews-" in html:
            return html
    return html


def text(markup):
    return unescape(re.sub(r"\s+", " ", re.sub(r"<[^>]+>", " ", markup.replace("<!-- -->", "")))).strip()


def first(pattern, source):
    match = re.search(pattern, source)
    return text(match.group(1)) if match else None


html = scrape(address)

place = {}
for block in re.findall(r'<script[^>]*application/ld\+json[^>]*>(.*?)</script>', html, re.S):
    data = json.loads(block)
    if "aggregateRating" in data:
        place = data
        break

cards = re.split(r'data-test-target="HR_CC_CARD"|data-automation="reviewCard"', html)[1:]
reviews = []
for card in cards:
    title = first(r'<a[^>]+ShowUserReviews[^>]+>(.*?)</a>', card)
    if not title:
        continue
    body = card.split("</h3>", 1)[1]
    body = body[body.find('data-test-target="review-body"'):] if 'data-test-target="review-body"' in body else body
    reviews.append({
        "author": first(r'href="/Profile/[^"]+"[^>]*>(?:<span[^>]*>)?([^<]+)<', card),
        "rating": first(r"<title[^>]*>([\d.]+) of 5 bubbles</title>", card),
        "title": title,
        "text": text(re.split(r"<button|Date of stay:|<div[^>]*>Written ", body)[0]),
        "date_of_stay": first(r"Date of stay:(?:<[^>]+>)+([^<]+)<", card),
        "owner_reply": "Response from " in card,
    })

next_page = re.search(r'aria-label="Next page" href="([^"]+)"', html)
print(json.dumps({
    "name": place.get("name"),
    "rating": place.get("aggregateRating", {}).get("ratingValue"),
    "reviews_total": place.get("aggregateRating", {}).get("reviewCount"),
    "ranking": first(r"(#[\d,]+ of [\d,]+ [^<\"]+?)(?= and rated|\"|<)", html),
    "reviews": reviews,
    "next_page": f"https://www.tripadvisor.com{unescape(next_page.group(1))}" if next_page else None,
}, indent=2, ensure_ascii=False))

还需要同一批地点在 Google 上的数据?Google 评论爬虫以同样的方式返回地点的 Google 评分、星级分布和热门评论。

比较 Tripadvisor API 与评论采集工具

2026 年 8 月 31 日取代 Content API 的官方 API、Apify 上使用最多的评论采集工具、Outscraper 和 Web Unlocker:采集 Tripadvisor 数据时各自按什么计费,以及允许您保留什么。

Gologin Web Unlocker、Tripadvisor API、Apify 与 Outscraper 在计费单位、1,000 个含首批评论的地点的价格、一个地点的全部评论、数据存储、免费开始、在其他站点上的同等价格和页面格式上的对比
需要什么Web UnlockerTripadvisor APIApifyOutscraper
您按什么付费一页每个地点、每次调用每条评论每条评论
1,000 个含首批评论的地点$0.98$15$19$38
一个地点的全部评论是,逐页读取由合同设定的评论池是是
存储采集的数据是仅限位置 ID是是
免费开始1,000 个页面1,000 次调用,仅一次每月 $5500 条评论
任何其他站点价格相同是否否否
整个页面的 HTML 或 Markdown是否否否

需要先找到这些地点?Tripadvisor 城市列表每页包含 30 家酒店或餐厅,上面的“城市酒店”标签页就会读取它。Web Unlocker 以同样的方式返回任何其他站点。

完整技术栈的一部分

一个账户,一个代理网络,一套生态。按任务需要选择产品。

还要在其他地方采集评论?请查看 Google 评论和 Google Maps 采集工具,或全部网页采集工具。

Tripadvisor 爬虫常见问题

如何抓取 Tripadvisor 评论?

把地点的 Tripadvisor 地址发送给 Web Unlocker。它会用真实浏览器打开页面,并连同评分、城市排名、评分分布和评论一起返回:酒店页面 10 条,餐厅页面 15 条,每条都有作者、评分、标题、正文、日期和业主回复。每一页都链接到下一页,上面的代码会顺着这个链接一直读到最后一页。

如何用 Python 抓取 Tripadvisor 评论?

用 requests 库把页面地址发送给 Web Unlocker,再从页面中读取各个字段。上面的 Python 标签页是一份完整的脚本,已在真实 API 上测试过。

有 Tripadvisor API 吗?

Tripadvisor 已于 2026 年 8 月 31 日关闭 Content API,其密钥随之失效。替代产品 Tripadvisor Terra 出售自助套餐,评论数量有限,来自您的合同所设定的评论池,且其条款只允许您存储位置 ID。Web Unlocker 返回公开页面本身,逐页获取每一条评论。

Tripadvisor API 多少钱?

Tripadvisor Terra 每个账户一次性免费提供前 1,000 次计费调用,之后每次调用按每个地点 $0.015 计费,用量越大单价越低。Web Unlocker 每 1,000 个页面 $0.98,一个酒店页面包含 10 条评论。

Tripadvisor API 免费吗?

只在开始时免费:Tripadvisor Terra 给每个账户一次性的前 1,000 次计费调用,之后每次调用都要付费。带有每月免费调用额度的旧 Content API 已于 2026 年 8 月 31 日关闭。Web Unlocker 附带 1,000 次免费请求,相当于 10,000 条酒店评论。

如何获取 Tripadvisor API 密钥?

旧 Content API 的密钥已于 2026 年 8 月 31 日失效;新密钥随 Tripadvisor Terra 套餐提供。Web Unlocker 密钥通过上面的表单在一个工作日内发放,并附带免费请求,可在您自己的地点上测试。

能抓取一家酒店的全部评论吗?

能,而且 Tripadvisor 评论爬虫无需登录即可做到:Tripadvisor 向每位访客逐页列出每一条评论。波士顿的 The Godfrey Hotel 在 926 页上显示 9,260 条英文评论,最后一页可追溯到 2016 年 1 月。全部评论合计 $0.91。

一个 Tripadvisor 页面返回多少条评论?

酒店或景点页面 10 条,餐厅页面 15 条,另外还有地点的评分、评论数、城市排名、评分分布以及住宿各方面的得分。

爬虫会返回业主回复吗?

会,只要该地点回复过:回复人、日期和完整正文。在 The Godfrey Hotel 评论的第二页上,10 条评论全部有回复。

能抓取一个城市的所有酒店或餐厅吗?

能。城市列表页包含 30 个地点,带有评分、评论数、价格等级、电话、地址和地图位置,每个地点的评论再多一页。上面的“城市酒店”标签页用一个页面列出波士顿的 30 家酒店。

能抓取其他语言的评论吗?

Tripadvisor.com 列出的是英文评论。每个国家站点列出用本国语言写的评论:在 tripadvisor.fr 上,The Godfrey Hotel 有 2,061 条。Web Unlocker 以同样的方式返回这些页面,覆盖 195+ 个国家和地区。

如何把 Tripadvisor 评论导出为 CSV?

上面的“每一条评论”标签页会写出 reviews.csv:每条评论一行,带有评分、日期、标题和正文。或者用 Gologin scraping skill 把页面交给 Claude,让它输出 CSV。

Tripadvisor 爬虫要多少钱?

每 1,000 个页面低于 $1,每个页面价格相同:10,000 条酒店评论只需 $0.98。页面加载失败不收费。套餐每月 $49 起,含 50,000 次请求。

有免费的 Tripadvisor 爬虫吗?

有,可以免费开始:Web Unlocker 附带 1,000 次免费请求,足够采集 10,000 条酒店评论。

抓取 Tripadvisor 需要代理吗?

不需要。Web Unlocker 会为您选择 IP,覆盖 195+ 个国家和地区,并从您选择的国家打开页面。

最好的 Tripadvisor 爬虫是什么?

这取决于您的需求。Apify、Bright Data 和 Outscraper 出售整理好的现成数据行,并按每条评论计费。Web Unlocker 是一个以每页一个价格返回整个页面的 Tripadvisor 爬虫,带有排名、评分分布和业主回复,解析方式由您决定。

为什么 Tripadvisor 爬虫会停止返回评论?

调用网站内部数据接口的爬虫,每当 Tripadvisor 改动其中一个接口就需要修复:Apify 上使用最多的 Tripadvisor actor 在 2026 年 10 月记录了三次这样的修复。Web Unlocker 返回的是访客看到的页面。

抓取 Tripadvisor 合法吗?

Tripadvisor 页面是公开的,无需登录即可加载。Web Unlocker 像访客的浏览器一样加载它并返回页面。您采集什么、如何使用,由您自己决定,请对照适用于您项目的规则自行核对。

获取 API 密钥和免费请求额度

简单介绍一下您的团队,即可获得:

  • 一个工作日内发放 API 密钥
  • 可在您自己的目标站点上使用免费请求
G2 评分 4.7 / 5基于 79 条评价
预约演示

无需绑定银行卡,随时可取消。我们会在一个工作日内回复您。