Scrapuj wyniki wyszukiwania Google Maps w prawdziwej przeglądarce i odbieraj każde miejsce ze strony: nazwę, ocenę, opinie, kategorię, adres, godziny i współrzędne. Strona, która się nie załaduje, nic nie kosztuje.
1000 darmowych żądań · Płatność tylko za sukces · 195+ krajów · Gotowe dla Claude
Gotowy na własne wyszukiwania? Pobierz klucz API albo umów demo.
Opowiedz nam trochę o swoim zespole i otrzymasz:
Każde wyszukiwanie w Google Maps kończy się na około 60 miejscach, w aplikacji i w API. Podziel więc miasto na kafelki: każdy kafelek to kolejna strona w tej samej cenie, a lista stale rośnie.
Koszt 25 wyszukiwań kafelkowych, po jednej stronie każde
Gologin Web Unlockerok. $0.02
Google Places APIok. $0.80
Oficjalne API zwraca pola, które wybrał dla niego Google. Strona Maps zawiera więcej, a Web Unlocker zwraca ją w całości.
| Co dostajesz | Google Places API | |
|---|---|---|
| 1000 miejsc z telefonem i stroną | Ok. $1.10 | Ok. $1.75 |
| Oceny rozbite na gwiazdki, od 5 do 1 | Tak | Nie, tylko średnia |
| Tematy opinii z liczbą wzmianek | Tak | Nie |
| Link do rezerwacji online | Tak | Nie, tylko flaga tak lub nie |
| Przechowywanie wyników | Bez limitów z naszej strony | Tylko ID miejsc |
Scrapujesz nie tylko Google Maps? Web Unlocker zwraca każdą stronę w ten sam sposób, w tej samej cenie.
Google Maps układa miejsca według tego, skąd pochodzi wyszukiwanie. Wybierz kraj, region lub miasto, a Web Unlocker załaduje mapę stamtąd.
Chcesz szukać z miasta swoich klientów? Odbierz klucz API i darmowe żądania.
Jedno żądanie na wyszukiwanie: wyślij adres Maps, odbierz wyrenderowaną stronę, odczytaj miejsca. Demo powyżej uruchamia ten sam parser.
Wypełnij formularz powyżej. Klucz przychodzi e-mailem w ciągu jednego dnia roboczego.
google.com/maps/search/ plus Twoje zapytanie oraz kraj, region lub miasto, z którego szukasz.
Każde miejsce to jedna karta na stronie, a nazwa, ocena, opinie, adres i godziny są na widoku.
GOLOGIN_SCRAPING_API_KEY=your_key node maps-search.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst search = 'dentists in Miami';
const params = new URLSearchParams({
url: `https://www.google.com/maps/search/${encodeURIComponent(search)}?hl=en&ucbcb=1`,
render_js: 'true',
wait: '9000',
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 { data } = await response.json();
const text = (value) => value?.replaceAll('&', '&').replaceAll(''', "'").replaceAll('"', '"');
const places = data.html
.split('role="article"')
.slice(1)
.map((card) => ({
name: text(card.match(/class="hfpxzc" aria-label="([^"]+)"/)?.[1]),
rating: card.match(/>([1-5]\.\d)</)?.[1],
reviews: card.match(/>\(([\d,]+)\)</)?.[1],
lat: card.match(/!3d(-?[\d.]+)/)?.[1],
lng: card.match(/!4d(-?[\d.]+)/)?.[1],
}));
console.table(places);pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python maps_search.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport html as entities
import os
import re
from urllib.parse import quote
import requests
search = "dentists in Miami"
response = requests.get(
"https://parsing.webunlocker.gologin.com/v1/scrape",
params={
"url": f"https://www.google.com/maps/search/{quote(search)}?hl=en&ucbcb=1",
"render_js": "true",
"wait": "9000",
"geo": "us",
"format": "json",
},
headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
timeout=90,
)
html = response.json()["data"]["html"]
def find(pattern, card):
match = re.search(pattern, card)
return entities.unescape(match.group(1)) if match else None
for card in html.split('role="article"')[1:]:
print(
find(r'class="hfpxzc" aria-label="([^"]+)"', card),
find(r">([1-5]\.\d)<", card),
find(r">\(([\d,]+)\)<", card),
find(r"!3d(-?[\d.]+)", card),
find(r"!4d(-?[\d.]+)", card),
)GOLOGIN_SCRAPING_API_KEY=your_key node maps-tiles.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst query = 'dentists';
const center = { lat: 25.775, lng: -80.23 };
const step = 0.03;
const found = new Map();
async function tile(lat, lng) {
const params = new URLSearchParams({
url: `https://www.google.com/maps/search/${query}/@${lat},${lng},15z?hl=en&ucbcb=1`,
render_js: 'true',
wait: '9000',
geo: 'us',
format: 'json',
});
for (let attempt = 0; attempt < 3; attempt += 1) {
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
if (response.ok) return (await response.json()).data.html;
await new Promise((resolve) => setTimeout(resolve, 10000));
}
return '';
}
for (let row = -2; row <= 2; row += 1) {
for (let col = -2; col <= 2; col += 1) {
const html = await tile((center.lat + row * step).toFixed(4), (center.lng + col * step).toFixed(4));
for (const card of html.split('role="article"').slice(1)) {
const name = card.match(/class="hfpxzc" aria-label="([^"]+)"/)?.[1];
if (name) found.set(name, { name, lat: card.match(/!3d(-?[\d.]+)/)?.[1], lng: card.match(/!4d(-?[\d.]+)/)?.[1] });
}
console.log(`tile ${row},${col}: ${found.size} places so far`);
}
}
console.table([...found.values()]);Musisz najpierw kliknąć, przewinąć lub otworzyć kartę opinii? Cloud Browser daje Twojemu kodowi całą przeglądarkę.
Strona wyszukiwania zawiera do 7 miejsc, a strona każdego miejsca dodaje telefon i stronę internetową. Przy jednej cenie za stronę 1000 miejsc z kontaktami to około $1.10.
Trudna strona kosztuje
tyle samo, co łatwa.
Strona, która się nie załaduje, nic nie kosztuje. Płacisz za wyrenderowaną stronę i za nic więcej.
Ile kosztuje 1000 miejsc z telefonem i stroną
Opublikowane ceny konkurentów
Web Unlocker w planie Growth, $0.98 za 1000 stron.
Jedno konto, jedna sieć proxy, jeden ekosystem. Wybierz produkt, którego wymaga zadanie.
Scrapujesz też inne sklepy? Zobacz scrapery Amazon, eBay i Walmart.
Wyślij adres wyszukiwania Google Maps do Web Unlocker. Otworzy stronę w prawdziwej przeglądarce z wybranego kraju i zwróci wyrenderowany HTML. Każde miejsce ma własną kartę, więc krótki parser odczytuje nazwę, ocenę, opinie, kategorię, adres, godziny i współrzędne. Kod powyżej robi dokładnie to.
Wyślij adres wyszukiwania Maps do Web Unlocker biblioteką requests i odczytaj miejsca z HTML. Zakładka Python powyżej to kompletny skrypt, 37 linii, przetestowany na działającym API.
Wyniki wyszukiwania i strony miejsc są publiczne i ładują się bez logowania. Web Unlocker ładuje je 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.
Około 7 do 11 na stronę i żadne pojedyncze wyszukiwanie nie przekracza około 60: Google kończy każdą listę w tym miejscu, w aplikacji i w API. Dla całego miasta przeszukuj mapę kafelek po kafelku. 25 kafelków w Miami zwróciło 146 różnych dentystów za około 2 centy. Zakładka Miasto w kodzie powyżej robi dokładnie to.
Tak. Otwórz stronę miejsca z wyników wyszukiwania: zawiera telefon, stronę internetową, plus code i link do rezerwacji, jeśli miejsce go ma. To jedno kolejne żądanie w tej samej cenie.
Google Maps pokazuje stronę internetową miejsca, a nie jego e-mail. E-mail znajduje się na tej stronie, a Web Unlocker otwiera ją w ten sam sposób: jedna kolejna strona w tej samej cenie.
Scrapuj stronę miejsca: zawiera podsumowanie opinii, liczbę ocen na każdym poziomie gwiazdek, tematy, o których piszą ludzie, wraz z liczbą wzmianek, oraz najlepsze opinie z autorem, gwiazdkami, datą i pełnym tekstem.
Web Unlocker zwraca stronę, a nie tabelę, więc nic nie jest obcinane, zanim to zobaczysz. Zamiana na CSV to kilka linii kodu albo jedno polecenie: przekaż stronę Claude z Gologin scraping skill i poproś o CSV.
Tak. Ustaw kraj, region lub miasto, a strona załaduje się stamtąd. Wyniki zależą od tego, skąd pochodzi wyszukiwanie, więc to samo zapytanie w Miami i w Tokio zwraca inne miejsca.
Od 5 do 30 sekund w naszych testach: mapa ładuje się w prawdziwej przeglądarce, zanim wróci strona.
Wyrenderowany HTML, Markdown, zwykły tekst oraz JSON z metadanymi strony.
Poniżej $1 za 1000 stron i ta sama cena za każdą stronę, więc 1000 miejsc z telefonem i stroną to około $1.10. 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 około 1000 stron wyszukiwania lub 7000 miejsc. Potem to poniżej $1 za 1000 stron.
Nie. Web Unlocker sam wybiera IP, w ponad 195 krajach.
To zależy od potrzeb. Apify i Outscraper sprzedają gotowe tabele z miejscami. Web Unlocker zwraca pełną stronę Maps z dowolnego miasta w jednej cenie za stronę, więc zachowujesz każde pole i parsujesz je po swojemu.
Opowiedz nam trochę o swoim zespole i otrzymasz: