Wpisz hotel, restaurację lub atrakcję, a Web Unlocker zwróci stronę tego miejsca na Tripadvisor: ocenę, pozycję, oceny cząstkowe i opinie z odpowiedziami właścicieli, 10 na stronie, rozliczane jak jedna strona. Strona, która się nie załaduje, nic nie kosztuje.
1000 darmowych żądań · Płatność tylko za sukces · 195+ krajów · Gotowe dla Claude
Strona Tripadvisor ładuje się od 5 do 30 sekund. Nadal pracuję, nie musisz klikać ponownie.
Gotowy na własne miejsca? Pobierz klucz API albo umów demo.
Opowiedz nam trochę o swoim zespole i otrzymasz:
Strona hotelu na Tripadvisor zawiera 10 opinii, strona restauracji 15, razem z ocenami i odpowiedziami właścicieli, a Web Unlocker rozlicza ją jako jedną stronę. Scraper opinii Tripadvisor na Apify lub w Bright Data rozlicza każdą opinię.
Trudna strona kosztuje
tyle samo, co łatwa.
Strona, która się nie załaduje, nic nie kosztuje. 9260 anglojęzycznych opinii o The Godfrey Hotel w Bostonie to 926 stron: $0.91.
Ile kosztuje 10 000 opinii z Tripadvisor
1000 stron hoteli po 10 opinii, według opublikowanych cen
Web Unlocker w planie Growth, $0.98 za 1000 stron. Pozostałe rozliczają każdą opinię: Bright Data w cenach pay-as-you-go, najpopularniejszy aktor na Apify w planie Apify za $19, Outscraper po 500 darmowych opiniach.
Chcesz uruchomić to na własnych hotelach? Odbierz klucz API i darmowe żądania.
Nasz test scrapowania Tripadvisor: sto stron, jedno żądanie na każdą, bez ponowień: hotele od Bostonu po Tokio, strony opinii głęboko w historii hotelu, restauracje, atrakcje i listy miast. Oto, co wraca i jak szybko.
Strona, która nie wróci, kosztuje $0.
Płacisz za strony, nie za próby.
Tripadvisor pokazuje każdą opinię każdemu odwiedzającemu, 10 na stronie hotelu i 15 na stronie restauracji, a każda strona linkuje do następnej. Twój scraper Tripadvisor idzie za tym linkiem aż do ostatniej strony: The Godfrey Hotel w Bostonie to 926 stron, wstecz do pierwszej opinii ze stycznia 2016.
Własne API Tripadvisor udostępnia pulę opinii ustaloną w umowie.
Strona pokazuje każdą opinię.
Web scraping Tripadvisor to jedno żądanie na stronę: wyślij adres hotelu, restauracji lub atrakcji na Tripadvisor, odbierz stronę, odczytaj ocenę, pozycję i opinie. Każda strona linkuje do następnej, więc do każdej opinii dojdziesz jedną pętlą.
Wypełnij formularz powyżej. Klucz przychodzi e-mailem w ciągu jednego dnia roboczego.
Jego stronę na Tripadvisor, tak jak otwiera się w Twojej przeglądarce, oraz kraj, z którego ją otwierasz.
Strona zawiera ocenę, pozycję i od 10 do 15 opinii, każdą z oceną, tekstem, datą i odpowiedzią właściciela.
pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python tripadvisor_reviews.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport 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))GOLOGIN_SCRAPING_API_KEY=your_key node every-review.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
let address = 'https://www.tripadvisor.com/Restaurant_Review-g60763-d33984348-Reviews-Olio_e_Piu-New_York_City_New_York.html';
const scrape = async (url) => {
for (let attempt = 0; attempt < 3; attempt += 1) {
const params = new URLSearchParams({ url: attempt ? `${url}?_r=${Date.now()}` : url, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const html = (await response.json()).data?.html ?? '';
if (html.includes('ShowUserReviews-')) return html;
}
return '';
};
const text = (markup) =>
markup
.replace(/<[^>]+>/g, ' ')
.replace(/&/g, '&')
.replace(/'|'/g, "'")
.replace(/"/g, '"')
.replace(/\s+/g, ' ')
.trim();
const reviews = new Map();
let pages = 0;
while (address) {
const html = await scrape(address);
pages += 1;
for (const card of html.split(/data-test-target="HR_CC_CARD"|data-automation="reviewCard"/).slice(1)) {
const id = card.match(/ShowUserReviews-g\d+-d\d+-r(\d+)/)?.[1];
if (!id) continue;
const at = card.indexOf('data-test-target="review-body"');
const body = at >= 0 ? card.slice(at) : card.slice(card.indexOf('</h3>'));
reviews.set(id, {
id,
rating: card.match(/<title[^>]*>([\d.]+) of 5 bubbles<\/title>/)?.[1],
title: text(card.match(/<a[^>]+ShowUserReviews[^>]+>([\s\S]*?)<\/a>/)?.[1] ?? ''),
written: card.match(/Written (?:<!-- -->)?([^<]+)</)?.[1] ?? '',
text: text(body.slice(body.indexOf('>') + 1).split(/<button|Date of stay:|<div[^>]*>Written /)[0]),
});
}
const next = html.match(/aria-label="Next page" href="([^"]+)"/)?.[1];
address = next ? `https://www.tripadvisor.com${next.replace(/&/g, '&')}` : null;
}
const csv = (value) => `"${String(value).replace(/"/g, '""')}"`;
const rows = [...reviews.values()].map((r) => [r.id, r.rating, r.written, r.title, r.text].map(csv).join(','));
writeFileSync('reviews.csv', ['id,rating,written,title,text', ...rows].join('\n'));
console.log(`${reviews.size} reviews from ${pages} pages saved to reviews.csv`);GOLOGIN_SCRAPING_API_KEY=your_key node city-hotels.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst address = 'https://www.tripadvisor.com/Hotels-g60745-Boston_Massachusetts-Hotels.html';
const params = new URLSearchParams({ url: address, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const html = (await response.json()).data?.html ?? '';
const hotels = [];
for (const [, json] of html.matchAll(/<script[^>]*application\/ld\+json[^>]*>([\s\S]*?)<\/script>/g)) {
const data = JSON.parse(json);
if (data['@type'] !== 'ItemList') continue;
for (const { item } of data.itemListElement) {
hotels.push({
name: item.name,
rating: item.aggregateRating?.ratingValue,
reviews: item.aggregateRating?.reviewCount,
phone: item.telephone,
address: item.address?.streetAddress,
page: item.url.replace(/\?.*$/, '').replace('/HotelHighlight-', '/Hotel_Review-'),
});
}
}
console.table(hotels.map(({ name, rating, reviews, phone }) => ({ name, rating, reviews, phone })));
console.log(`${hotels.length} hotels, each with its page for the reviews`);Potrzebujesz tych samych miejsc od strony Google? Scraper opinii Google zwraca ocenę miejsca w Google, rozkład gwiazdek i najlepsze opinie w ten sam sposób.
Oficjalne API, które 31 sierpnia 2026 zastąpiło Content API, najpopularniejszy scraper opinii na Apify, Outscraper i Web Unlocker: za co każde z nich pobiera opłatę przy scrapowaniu danych z Tripadvisor i co pozwala zachować.
| Czego to wymaga | Tripadvisor API | Apify | Outscraper | |
|---|---|---|---|---|
| Płacisz za | Stronę | Miejsce w każdym wywołaniu | Każdą opinię | Każdą opinię |
| 1000 miejsc z pierwszymi opiniami | $0.98 | $15 | $19 | $38 |
| Każda opinia miejsca | Tak, strona po stronie | Pula ustalona w umowie | Tak | Tak |
| Przechowywanie zebranych danych | Tak | Tylko ID lokalizacji | Tak | Tak |
| Darmowy start | 1000 stron | 1000 wywołań, jednorazowo | $5 miesięcznie | 500 opinii |
| Ta sama cena na każdej innej witrynie | Tak | Nie | Nie | Nie |
| Cała strona w HTML lub Markdown | Tak | Nie | Nie | Nie |
Potrzebujesz najpierw listy miejsc? Lista miasta na Tripadvisor zawiera 30 hoteli lub restauracji na stronie, a odczytuje ją zakładka Hotele w mieście powyżej. Web Unlocker zwraca każdą inną witrynę w ten sam sposób.
Jedno konto, jedna sieć proxy, jeden ekosystem. Wybierz produkt, którego wymaga zadanie.
Scrapujesz opinie także gdzie indziej? Zobacz scrapery opinii Google i Google Maps albo wszystkie narzędzia do web scrapingu.
Wyślij adres miejsca na Tripadvisor do Web Unlocker. Otworzy stronę w prawdziwej przeglądarce i zwróci ją z oceną, pozycją w mieście, rozkładem ocen i opiniami: 10 na stronie hotelu, 15 na stronie restauracji, każdą z autorem, oceną, tytułem, tekstem, datą i odpowiedzią właściciela. Każda strona linkuje do następnej, a kod powyżej idzie za tym linkiem aż do ostatniej strony.
Wyślij adres strony do Web Unlocker biblioteką requests i odczytaj pola ze strony. Zakładka Python powyżej to kompletny skrypt, przetestowany na działającym API.
Tripadvisor zamknął swoje Content API 31 sierpnia 2026, a jego klucze przestały działać. Następca, Tripadvisor Terra, sprzedaje samoobsługowy pakiet z ograniczoną liczbą opinii, pochodzących z puli ustalonej w Twojej umowie, a jego warunki pozwalają przechowywać wyłącznie ID lokalizacji. Web Unlocker zwraca samą publiczną stronę, z każdą opinią, strona po stronie.
Tripadvisor Terra daje pierwsze 1000 rozliczanych wywołań za darmo, jednorazowo na konto, a potem pobiera $0.015 za miejsce w każdym wywołaniu, mniej przy większym wolumenie. Web Unlocker kosztuje $0.98 za 1000 stron, a strona hotelu zawiera 10 opinii.
Tylko na start: Tripadvisor Terra daje każdemu kontu jednorazowo pierwsze 1000 rozliczanych wywołań, a każde kolejne wywołanie jest płatne. Stare Content API z miesięcznymi darmowymi wywołaniami zamknięto 31 sierpnia 2026. Web Unlocker zawiera 1000 darmowych żądań, czyli 10 000 opinii o hotelach.
Klucze do starego Content API przestały działać 31 sierpnia 2026, a nowe są dostępne z pakietem Tripadvisor Terra. Klucz Web Unlocker dostaniesz przez formularz powyżej w ciągu jednego dnia roboczego, z darmowymi żądaniami do testów na własnych miejscach.
Tak, a scraper opinii Tripadvisor nie potrzebuje do tego logowania: Tripadvisor pokazuje każdą opinię każdemu odwiedzającemu, strona po stronie. The Godfrey Hotel w Bostonie pokazuje swoje 9260 anglojęzycznych opinii na 926 stronach, a ostatnia z nich sięga stycznia 2016. Wszystkie razem kosztują $0.91.
10 na stronie hotelu lub atrakcji i 15 na stronie restauracji, plus ocenę miejsca, liczbę opinii, pozycję w mieście, rozkład ocen i oceny każdego elementu pobytu.
Tak, zawsze gdy miejsce odpowiedziało: kto odpowiedział, datę i pełny tekst. Na drugiej stronie opinii The Godfrey Hotel wszystkie 10 miały odpowiedź.
Tak. Strona listy miasta zawiera 30 miejsc z oceną, liczbą opinii, poziomem cen, telefonem, adresem i położeniem na mapie, a każde miejsce to jedna kolejna strona z jego opiniami. Zakładka Hotele w mieście powyżej wymienia 30 hoteli w Bostonie z jednej strony.
Tripadvisor.com wymienia opinie napisane po angielsku. Każda witryna krajowa wymienia opinie we własnym języku: na tripadvisor.fr The Godfrey Hotel ma ich 2061. Web Unlocker zwraca te strony w ten sam sposób, z ponad 195 krajów.
Zakładka Każda opinia powyżej zapisuje reviews.csv: jeden wiersz na opinię z oceną, datą, tytułem i tekstem. Możesz też przekazać stronę Claude z Gologin scraping skill i poprosić o CSV.
Poniżej $1 za 1000 stron i ta sama cena za każdą stronę: 10 000 opinii o hotelach to $0.98. Strona, która się nie załaduje, nic nie kosztuje. Plany zaczynają się od $49 miesięcznie za 50 000 żądań.
Tak, na start: Web Unlocker zawiera 1000 darmowych żądań, czyli wystarczająco na 10 000 opinii o hotelach.
Nie. Web Unlocker sam wybiera IP, w ponad 195 krajach, i otwiera stronę z kraju, który wybierzesz.
To zależy od potrzeb. Apify, Bright Data i Outscraper sprzedają gotowe wiersze i rozliczają każdą opinię. Web Unlocker to scraper Tripadvisor, który zwraca całą stronę w jednej cenie za stronę, z pozycją, rozkładem ocen i odpowiedziami właścicieli, a Ty parsujesz ją po swojemu.
Scrapery, które odpytują wewnętrzne źródła danych witryny, wymagają poprawki za każdym razem, gdy Tripadvisor któreś z nich zmieni: najpopularniejszy aktor Tripadvisor na Apify odnotował trzy takie poprawki w październiku 2026. Web Unlocker zwraca stronę, którą widzi odwiedzający.
Strona Tripadvisor jest publiczna i ładuje się bez logowania. Web Unlocker ładuje ją tak, jak robi to przeglądarka użytkownika, i zwraca stronę. To, co zbierasz i jak tego używasz, zależy od Ciebie, więc sprawdź to z zasadami obowiązującymi w Twoim projekcie.
Opowiedz nam trochę o swoim zespole i otrzymasz: