Adatok a Google Térképről

Hogyan lehet adatokat kaparni a Google Térképről?

A Google Maps az leggyakrabban használt navigációs alkalmazás 2022-ben, így a vállalkozások igyekeznek „felfedezhetőek” lenni benne. Minél többször jelennek meg a Google Térkép kereséseiben, annál nagyobb az esélyük arra, hogy több ügyfelet szerezzenek.

Mivel a vállalkozások kereshetővé teszik az összes információt, a Google Térkép immár tele van az üzleti kutatásban kulcsfontosságú adatokkal – potenciális ügyfelek generálásához, versenytársak megtalálásához vagy az ügyfelek véleményének elemzéséhez.

A probléma az, hogy a Google Térkép internetes lekaparása időt és erőforrást igényel a hatalmas adatmennyiség miatt. Szerencsére van mód a folyamat automatizálására.

Olvasson tovább, hogy megtudja, hogyan nyerhet ki adatokat a Google Térképből!

🔑 Kulcs elvitelek

  • A Google Térkép a legtöbbet letöltött navigációs alkalmazás. Adatbázisa hatalmas, így értékes adatok kiváló forrása a vállalatok számára.
  • A Google Maps lekaparásához Pythonra, BeautifulSoupra, egy kódszerkesztőre, például a Visual Studio Code-ra és a kérések könyvtárra van szüksége.
  • Bár a nyilvános adatok lekaparása általában legális, tartsa tiszteletben a védjegy- és szerzői jogi törvényeket. Használjon proxyt, hogy elkerülje a Google IP-blokkolását.
  • A Google Térkép kaparásához olyan eszközöket használhat, mint a Spylead, Apify és Outscraper, amelyek mindegyike egyedi funkciókat és árazási lehetőségeket kínál.

5 lépés hogy Kapar Google Maps adatok

Több mint két évtizede a Google Maps adatbázis gazdagsága sokat nőtt. Még mindig másodpercenként kap frissítéseket.

A Google Térkép jelenleg több mint 220 országban és 40 nyelven érhető el. A platform 120 millió helyi útmutatóval rendelkezik világszerte, és több mint 170 képet gyűjtött össze az utcaképekből.

Adatok a Google Térképről

A Google API-t kínál a térképadatok lekaparásához. Ennek azonban vannak komoly korlátai. A hivatalos API például nem teszi lehetővé a Google Popular Times lekaparását, mivel adatai értékesek az ügyfelek viselkedésének felméréséhez.

A legjobb, ha saját ingyenes Google Térkép-kaparót készít, vagy előfizet egy kód nélküli megoldásra. A Google Térkép mellett ezt a kód nélküli lehúzó eszközt is használhatja a Google keresési eredményeinek lekaparására.

👍 Hasznos cikk
Az adatok kinyerése fárasztó, de webkaparással és API-val automatizálható. A legjobb megközelítés megismeréséhez tekintse meg a webkaparás és az API közötti különbségeket.

1. A Google Térkép kaparási követelményei

A Google Térkép lekaparásához szükséges eszközök elérhetők. Íme, amire szüksége van a Google Helyek Python használatával történő lekaparásához:

Kódszerkesztő

A kódszerkesztő az a hely, ahol a szkripteket írhatja. Az erősen ajánlott kódszerkesztő a Visual Studio kódde bármit használhatsz.

Piton

A Python egy egyszerű programozási nyelv. Az írás idején annak a legújabb verzió a 3.11.4de használhat 3.8-as vagy újabb verziót is.

✅Pro tipp
Ha ellenőrizni szeretné, hogy a számítógépén van-e már Python, futtassa ezt a parancsot: Python -V A telepített Python verziószámát kell visszaadnia.

Lépések adatok lekaparásához a Google Térképről Python használatával

Ha rendelkezik a folyamathoz szükséges összes eszközzel, a következőképpen kezdheti meg az adatok lekaparását a Google Térképről:

A Google Maps adatok Python használatával történő lekaparásának lépései
Jegyzet:
Az alábbi lépésekkel létrehoz egy Google Térkép kaparót a " kulcsszó használatávalszámítógépes üzletek New Yorkban.”

1. lépés: Telepítse a szükséges könyvtárakat

Az elsődleges Python-könyvtár, amelyet ebben a folyamatban fog használni, a BeautifulSoup. Futtassa ezt a parancsot a telepítéshez:

pip install bs4

Telepítenie kell a kérések könyvtárát is. Ez a modul szükséges a get kérések elküldéséhez a cél URL-re.

pip install requests

Hozzon létre egy Python szkriptfájlt. Nevezheted, ahogy akarod. Ebben a példában ezt nevezheti "gmapscraper.py.'

Így fog kinézni a kód eleje:

import csv
import requests
from bs4 import BeautifulSoup

A CSV-könyvtár a Pythonban natív, ezért nem szükséges telepíteni.

📝 Megjegyzés
A BeautifulSoup-ot gyakran a Seleniumhoz hasonlítják, amikor Pythont használnak webkaparáshoz. Ebben az esetben a BeautifulSoup jobb, mert a Google Maps tartalma statikus. Ha dinamikus adatokat kapar, a szelén jobb.

2. lépés: Küldjön kérést

A cél URL-cím megszerzéséhez lépjen a Google-ba, és keresse meg a kimásolni kívánt kulcsszót. Kattintson rá További eredmények további bejegyzések betöltéséhez, majd másolja ki az URL-t.

Határozza meg a cél URL-t és a felhasználói ügynököt a következő kóddal:

url="https://www.google.com/search?sa=X&tbs=lf:1,lf_ui:10&tbm=lcl&q=pc+shops+in+new+york&rflfq=1&num=10&rllag=40730428,-73990581,1751&ved=2ahUKEwjauo7J4YmAAxUUbmwGHVlmAKsQjGp6BAhHEAE&biw=1208&bih=719&dpr=1#rlfi=hd:;si:;mv:((40.7844352,-73.80324329999999),(40.6516932,-74.0195832));tbs:lrf:!1m4!1u3!2m2!3m1!1e1!1m4!1u2!2m2!2m1!1e1!2m1!1e2!2m1!1e3!3sIAE,lf:1,lf_ui:10"

user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"

headers = {'User-Agent': user_agent}
response = requests.get(url, headers=headers)

Ez a lépés hozzáadja a felhasználói ügynököt a kérés fejlécéhez, hogy valódi böngészőként jelenjen meg. A get() függvény megpróbálja betölteni a tartalmat a céloldalról.

3. lépés: Határozza meg a CSS-választókat

A CSS-választók pontosan meghatározzák a kimásolni kívánt információkat. A CSS-szelektorokat az oldal HTML-tartalmának szerkezetének elemzésével érheti el.

Kattintson a jobb gombbal bárhol az oldalon, és válassza ki Vizsgálja meg. Ezzel a lépéssel hozzáférhet a böngésző DevTools programjához, és megtekintheti a webhely HTML-kódját.

Vegye figyelembe, hogy ez a módszer időigényes, és sok próbálkozással és hibával jár. A folyamatot azonban megkönnyítheti egy CSS-választó keresőeszköz használatával.

Az egyik használható eszköz az SelectorGadget. Ez egy nyílt forráskódú böngészőbővítő eszköz, amely lehetővé teszi a pontos CSS-kiválasztók megtalálását az elemek kiválasztásával és elutasításával.

Íme a példakód a kiválasztott CSS-választókkal:

soup = BeautifulSoup(response.content, 'html.parser')

selectors = {
    'Shops': '.dbg0pd .OSrXXb',
   'Ratings': '.Y0A0hc',
    'Addresses': '.rllt__details div:nth-child(3)',
    'Phone number': '.rllt__details div:nth-child(4)'
}

A BeautifulSoup() függvény tartalmazza a használni kívánt elemző típusára vonatkozó argumentumot.

Ezenkívül be kell állítania egy szótárt a lekaparni kívánt létfontosságú információkhoz. Íme további kódok egy szótár létrehozásához, amely tárolja az elemzett eredményeket, és ismételje meg a kiválasztókat.

A telefonszámokat tartalmazó elemek között szerepelni fog az üzletek nyitvatartása és zárva tartása is. Ha ezekre az információkra nincs szükség, szűrheti őket a következő kód hozzáadásával:

results = {key.capitalize(): () for key in selectors}

for key, selector in selectors.items():
    elements = soup.select(selector)

4. lépés: Mentse el az eredményeket egy CSV-fájlba

A CSV egy egyszerű szöveges fájl, amely nagy mennyiségű adat tárolására képes. Ezenkívül könnyen importálható táblázatokba, és általában kompatibilis a leadgeneráló szoftverekkel.

A következő kódkészlet segít az összes kimásolt adat CSV-fájlban való tárolásában. A kezdéshez be kell állítania a CSV-fájl nevét a következő kóddal:

filename="scraped_data.csv"

Határozza meg a listák maximális hosszát az eredményszótárban a következő futtatással:

max_length = max(len(result_list) for result_list in results.values())

Az eredmények megfelelő igazítást igényelhetnek. Ehhez a lépéshez használja:

for result_list in results.values():
    while len(result_list) < max_length:
        result_list.append('')

Használja a kulcsokat oszlopnévként:

fieldnames = results.keys()

Ez a parancs a maximális hossz alapján igazítja az értékeket:

results_list = ({field: results(field)(i)
                for field in fieldnames} for i in range(max_length))

Az eredmények CSV-fájlba írásához a megadott fájlnévben:

with open(filename, 'w', newline="", encoding='utf-8') as csvfile:
   writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(results_list)

Győződjön meg arról, hogy a kódolási argumentum UTF-8-ra van állítva, hogy elkerülje a kódolási hibákat. Ezt követően nyomtasson ki egy értesítő üzenetet a terminálján az alábbi módon:

print(f"Data has been successfully saved to {filename}.")

5. lépés: Futtassa a kódot

Tekintse át a kódot az esetleges szintaktikai hibákért. A teljes szkriptnek így kell kinéznie:

import csv
import requests
from bs4 import BeautifulSoup

# Send a GET request to the webpage you want to scrape
# Replace with the URL of the webpage you want to scrape
url="https://www.google.com/search?sa=X&tbs=lf:1,lf_ui:10&tbm=lcl&q=pc+shops+in+new+york&rflfq=1&num=10&rllag=40730428,-73990581,1751&ved=2ahUKEwjauo7J4YmAAxUUbmwGHVlmAKsQjGp6BAhHEAE&biw=1208&bih=719&dpr=1#rlfi=hd:;si:;mv:((40.7844352,-73.80324329999999),(40.6516932,-74.0195832));tbs:lrf:!1m4!1u3!2m2!3m1!1e1!1m4!1u2!2m2!2m1!1e1!2m1!1e2!2m1!1e3!3sIAE,lf:1,lf_ui:10"

# Define the user agent
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"

# Set the user agent in the headers of the HTTP request
headers = {'User-Agent': user_agent}
response = requests.get(url, headers=headers)

# Create a BeautifulSoup object to parse the HTML content
soup = BeautifulSoup(response.content, 'html.parser')

# Define a dictionary of CSS selectors
selectors = {
    'Shops': '.dbg0pd .OSrXXb',
   'Ratings': '.Y0A0hc',
    'Addresses': '.rllt__details div:nth-child(3)',
    'Phone number': '.rllt__details div:nth-child(4)'
   # Add your additional key and CSS selector here if you want to parse more
}

# Create a dictionary to store the parsed results
results = {key.capitalize(): () for key in selectors}

# Iterate over the selectors in the dictionary
for key, selector in selectors.items():
    elements = soup.select(selector)

    # Iterate over the found elements and extract relevant information
    for element in elements:
        text = element.get_text()
        if key.capitalize() == 'Phone number':
           phone_number = text.strip().split('·')(-1).strip()
            results(key.capitalize()).append(phone_number)
        else:
            results(key.capitalize()).append(text.strip())

# Define the filename for the CSV file
filename="scraped_data.csv"

# Determine the maximum length of the lists in the results dictionary
max_length = max(len(result_list) for result_list in results.values())

# Fill any missing values with empty strings to align the rows
for result_list in results.values():
    while len(result_list) < max_length:
        result_list.append('')

# Extract the column names from the keys of the results dictionary
fieldnames = results.keys()

# Create a list of dictionaries, aligning the values based on the maximum length
results_list = ({field: results(field)(i)
                for field in fieldnames} for i in range(max_length))

# Write the results to the CSV file
with open(filename, 'w', newline="", encoding='utf-8') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(results_list)

print(f"Data has been successfully saved to {filename}.")

A kód futtatásához használhatja a VS Code beépített terminált vagy a rendszerterminált/parancssort. Futtassa ezt a parancsot:

python gmapscraper.py

Megtekintheti az eredményeket a VS Code-ban, ha a jobb gombbal a CSV-fájlra kattint, és kiválasztja Nyissa meg az előnézetet. Megnyithatja táblázatként is.

Kikapart Google Maps adatok CSV formátumban
✅Pro tipp
A legtöbb webhelyhez hasonlóan a Google sem fogadja szívesen a webkaparókat. Problémák adódhatnak a karcolásgátló intézkedések miatt.
Ennek egyik módja a kérések számának korlátozása. A proxy rotációját is beépítheti a Python-szkriptbe, hogy elkerülje az IP-blokkolást.

A Google Térkép lekaparásának biztonsága és jogszerűsége

A nyilvánosan elérhető információk lekaparása legális, beleértve a Google Térkép adatait is. Ez azonban attól függ, hogyan kívánja használni ezeket az adatokat.

Védjegytörvény a cégneveket is védi. Egyes képek szerzői jogvédelem alatt állnak, ami azt jelenti, hogy a DMCA védi őket.

Ettől eltekintve fennáll annak a veszélye, hogy IP-jét blokkolják a Google lekopásgátló mechanizmusai.

✅Pro tipp
Az egyik módja annak, hogy elkerülje a Google biztonságának IP blokkolását, ha proxyt használ a törlés közben. Ez az eszköz más IP-címet ad, ami megakadályozza, hogy a webhely blokkolja az Ön valódi IP-címét.

A legjobb Google Térkép-kaparók

Vannak olyan kaparók, amelyek teljesen kódok nélkül kínálják a Google Maps adatkinyerését. Íme néhány a legfontosabb ajánlások közül:

1. Spylead

Spylead Google Maps Scraper

Főbb jellemzők

  • E-mail kereső és ellenőrző
  • Hitelrendszer
  • SERP kaparó

Ár: 39 USD/hó 1500 kreditért

Az egyik legjobb eszköz, amellyel a Google térképeket lekaparhatja Spylead.

Főleg e-mail kereső szolgáltatás, de hatékony eszköz a Google Maps adatok lekaparására is. A szolgáltatás kreditrendszerben működik, ahol 10 találatonként egy kreditet kell elkölteni.

Profik Hátrányok
Rugalmas árképzés a kreditrendszerrel Nem tartalmazza a „népszerű időket” a kimásolható adatok között
Más funkciókat is használhat, mint például az e-mail kereső/ellenőrző és a SERP kaparó
Könnyű használat

2. Apify

Apify Google Maps Scraper

Főbb jellemzők

  • Ingyenes csomag havi 5 USD-s jóváírással
  • Támogatja a JSON-t, az XML-t, a CSV-t, az Excelt és az RSS-hírcsatornát
  • 1300+ színész (kaparó)

Ár: 49 USD, majd felosztó-kirovó 15 000–20 000 eredményért

Apify egy másik kód nélküli megoldás a Google Térkép webkaparásához. Könnyen használható felhasználói felülettel rendelkezik, használati útmutatókkal és tanfolyamokkal.

Az árképzés is rugalmas a „kirovó felosztású” rendszerrel. Csak azért fizet, amit felhasznál, vagy korlátlan ideig az ingyenes csomagban maradhat.

Profik Hátrányok
Határozatlan idejű ingyenes csomag Drága a nagyszabású projektekhez
Több fájlformátum támogatása
Sok elkötelezett színész (kaparó) közül választhat

3. Kikaparó

Outscraper Google Maps Scraper

Főbb jellemzők:

  • Legfeljebb 15 adatpontot tud lekaparni
  • Ingyenes terv a felosztó-kirovó átálláshoz
  • Tekintse át a célzást speciális gyűjtési beállításokkal

Ár: 0,0002 dollár rekordonként

Kikaparó egy texasi székhelyű webkaparó szolgáltatás. A webhely ingyenes csomagot kínál az első 500 rekordhoz, majd átvált a „kirovó-kirovó” árazásra.

A Google Maps lehúzója rekordonként legfeljebb 15 adatpontot tud kinyerni. Speciális beállítások is rendelkezésre állnak az áttekintés pontosabb célzásához.

Profik Hátrányok
Rendkívül rugalmas árképzés Nem kommunikatív felhasználói felület
Speciális beállítások

Következtetés

A Google Maps már két évtizede mindenki kedvenc webes térképészeti platformja. Az emberek digitális és valós életében betöltött létfontosságú szerepe az, hogy a Google Térkép több milliárdnyi adatot tárol, amelyeket le lehet kaparni.

Az ajánlásoknak megfelelően óvatosan és mérsékelten kaparja le a Google Térképet. Végezze el kaparási projektjeit, figyelembe véve a platform fontosságát sok ember számára.

GYIK

  1. A Google Maps API nem ingyenes?

    Igen. A Google Maps API árazása a kérelmek számától és típusától függ.

  2. Ki lehet tiltani a webkaparás miatt?

    A webhely házirendjétől függően IP-címe letiltható a weboldalak lekaparása miatt.

  3. Mi a határa a Google-keresés kaparásának?

    Nincs határ. Az egyetlen korlát a lehúzó azon képessége, hogy megkerülje a Google lekopás elleni intézkedéseit. Ha nem használ proxyt, óránként csak 15-20 kérést küldhet blokkolás nélkül.