Vai al contenuto principale

Maps::Google - Scraper di Google Maps

img

Panoramica dello scraper

Lo scraper di Google Maps raccoglie i dati di contatto delle organizzazioni dalla prima pagina dei risultati.

La funzionalità di A-Parser consente di salvare le impostazioni di scraping per un uso futuro (preset), impostare pianificazioni di scraping e molto altro. È possibile utilizzare la generazione automatica delle query, la sostituzione di sotto-query da file, l'iterazione di combinazioni alfanumeriche e liste per ottenere il massimo numero possibile di risultati.

Il salvataggio dei risultati è possibile nel formato e nella struttura necessari, grazie al potente motore di modelli integrato Template Toolkit che consente di applicare logica aggiuntiva ai risultati e di esportare i dati in vari formati, tra cui JSON, SQL e CSV.

Casi d'uso dello scraper

Dati raccolti

  • Nome dell'organizzazione
  • Indirizzo e coordinate
  • Valutazione, numero di recensioni e fascia di prezzo
  • Categorie e tag
  • Sito web e telefono
  • Link alla foto
  • Link alla scheda dell'azienda
  • Link a "Rivendica questa attività" (ingl. Claim this business)
  • Stato operativo
  • Link al servizio di prenotazione

Funzionalità

  • È obbligatorio specificare le coordinate e lo zoom dell'area in cui viene effettuata la ricerca
  • Al momento vengono raccolti dati solo dalla prima pagina
  • Possibilità di specificare il paese da cui viene effettuata la ricerca e la lingua dei risultati
  • Scansione automatica delle coordinate in una determinata regione utilizzando l'opzione Collect full region
  • Possibilità di filtrare i risultati in base allo stato Temporarily closed o Permanently closed

Casi d'uso

  • Raccolta di un elenco di organizzazioni presenti in una determinata area
  • Ottenimento dei contatti delle organizzazioni
  • Qualsiasi altro scenario che implichi la ricerca di organizzazioni sulle mappe

Query

Come query è necessario specificare le parole chiave, esattamente come se venissero inserite direttamente nel modulo di ricerca di Google Maps, ad esempio:

pizza

Opzioni di output dei risultati

A-Parser supporta la formattazione flessibile dei risultati grazie al motore di modelli integrato Template Toolkit, che gli consente di produrre risultati in forma libera o strutturata, come CSV o JSON

Output predefinito

Formato del risultato:

$serp.format('$name ($rating): $address\n')

Il risultato mostra un elenco di organizzazioni, le loro valutazioni e indirizzi:

Vivat Pizza (4.7): Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308
Premier Pizza (4.2): pr-kt Leningradskiy, 37, Moscow, Russia, 125167
City Pizza (5): Ordynka M. ul. 19, Moskva, 119017, Moscow, Russia, 115035
Dodo Pizza (4.4): Ulitsa Miklukho-Maklaya, 36A, Moscow, Russia, 117198
Pizza 22 cm (4.6): Ulitsa Solyanka, 1/2, Moscow, Russia, 109028
Zhar Pitstsa (4.7): Ulitsa Industrial'naya, 15, str. 2, Mytishchi, Moscow Oblast, Russia, 141006
Pizzeria Allo! Pizza | Kafe, dostavka edy Krymskaya (4.4): Sevastopol Ave, 15k1, 1 piano, Moscow, Russia, 117447
City Pizza (2.3): 4-Y Syromyatnicheskiy Pereulok, 3/5, Moscow, Russia, 105120
Domino's Pizza (3.8): Beregovoy Proyezd, 5A korpus 1, Moscow, Russia, 121087
Domino's Pizza (4.5): Ulitsa Fonvizina, 17, Moscow, Russia, 127322
City Pizza (4.2): Malomoskovskaya Ulitsa, 22, Moscow, Russia, 129626
Allo! Pizza (4.5): Tkatskaya Ulitsa, 32A, Moscow, Russia, 105187
Pizza Pizza Time (4.3): SNT Zelenaya zona, Lyubertsy, Moscow, Russia, 111674
Vivat Pizza (4.7): Sirenevyy Bul'var, 15a, Moscow, Russia, 105425
Allo! Pizza (4.4): Shcholkovskoye Shosse, 72, Moscow, Russia, 107497
Dodo Pizza (4.5): Ulitsa Initsiativnaya, 13, Lyubertsy, Moscow Oblast, Russia, 140009
Domino's Pizza (4.5): Ulitsa Panferova, 4, Moscow, Russia, 119261
Allo! Pizza (4.5): Ulitsa Kostromskaya, 14B, Moscow, Russia, 127549
Allo! Pizza (4.5): Ulitsa Lyapidevskogo, 4 stroyeniye 2, Moscow, Russia, 125581
Dodo Pizza (4.6): Staraya Basmannaya Ulitsa, 14/2s4, Moscow, Russia, 105064

Output di tutti i dati di contatto

Formato del risultato:

$serp.format('$name ($rating): $address, $reviews, $price,  $categories, $tags, $site, $phones, $photo, $coordinates\n')

Esempio di risultato:

Vivat Pizza (4.7): Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308, 558, $$,  Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant, No-contact delivery, Delivery, Takeaway, Great cocktails, Wheelchair-accessible car park, Wheelchair-accessible entrance, Beer, Late-night food, Wine, Dessert, Bar on site, Good for kids, High chairs, Casual, Cosy, Groups, http://www.vivatpizza.ru/, +74957808090, https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no, 55.7753678,37.4888493
Premier Pizza (4.2): pr-kt Leningradskiy, 37, Moscow, Russia, 125167, 5, , Pizza restaurant, Pizza takeaway, Delivery, Takeaway, Dine-in, Good for kids, Casual, Groups, http://premierpizza.ru/, +74952210717, , 55.7727005,37.5315456
City Pizza (5): Ordynka M. ul. 19, Moskva, 119017, Moscow, Russia, 115035, 1, $$, Pizza restaurant, Pizza delivery, Delivery, Dine-in, https://www.citypizza.ru/, , https://streetviewpixels-pa.googleapis.com/v1/thumbnail?panoid=dowqjCRyBVGFlZWPNAKQeg&cb_client=search.gws-prod.gps&w=408&h=240&yaw=87.83791&pitch=0&thumbfov=100, 55.741704999999996,37.6258066
Pizza 22 cm (4.6): Ulitsa Solyanka, 1/2, Moscow, Russia, 109028, 1309, $$, Pizza restaurant, Italian restaurant, Takeaway, Dine-in, Delivery, Wheelchair-accessible entrance, Dessert, Good for kids, Casual, Cosy, Groups, http://pizza22cm.ru/#msk, +79264297222, https://lh5.googleusercontent.com/p/AF1QipOYxiI0ITxnRGGltyFFW1Y8MmcPZMoJMz9dd77u=w408-h272-k-no, 55.754531799999995,37.6380833

Output di tutti i dati di contatto in una tabella CSV

Formato del risultato:

[% FOREACH serp;
tools.CSVline(query, name, rating, address, reviews, price, categories, tags, site, phones, photo, coordinates);
END %]

Esempio di risultato:

"pizza","Vivat Pizza",4.7,"Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308",558,$$,"Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant","No-contact delivery, Delivery, Takeout, Great cocktails, Wheelchair-accessible entrance, Wheelchair-accessible parking lot, Beer, Late-night food, Wine, Dessert, Bar on-site, Good for kids, High chairs, Casual, Cozy, Groups",http://www.vivatpizza.ru/,+74957808090,https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no,"55.7753678,37.4888493"
"pizza","Premier Pizza",4.2,"pr-kt Leningradskiy, 37, Moscow, Russia, 125167",5,,"Pizza restaurant, Pizza takeaway","Delivery, Takeout, Dine-in, Good for kids, Casual, Groups",http://premierpizza.ru/,+74952210717,,"55.7727005,37.5315456"
"pizza","Pizza 22 cm",4.6,"Ulitsa Solyanka, 1/2, Moscow, Russia, 109028",1309,$$,"Pizza restaurant, Italian restaurant","Takeout, Dine-in, Delivery, Wheelchair-accessible entrance, Dessert, Good for kids, Casual, Cozy, Groups",http://pizza22cm.ru/#msk,+79264297222,https://lh5.googleusercontent.com/p/AF1QipOYxiI0ITxnRGGltyFFW1Y8MmcPZMoJMz9dd77u=w408-h272-k-no,"55.754531799999995,37.6380833"
"pizza","Dodo Pizza",4.4,"Ulitsa Miklukho-Maklaya, 36A, Moscow, Russia, 117198",116,$$,"Pizza restaurant, Coffee stand, Pizza delivery, Pizza takeaway","No-contact delivery, Delivery, Takeout, Dine-in, Vegetarian options, Breakfast, Lunch, Dessert, Seating, Good for kids, Casual, Cozy, Family-friendly, Groups, Debit cards, NFC mobile payments",https://dodopizza.ru/Moscow/belyaevo,+78003330060,https://lh5.googleusercontent.com/p/AF1QipOJ7jbAJEA8imRs58tf2roiESzzkLCyTsVUk2Zk=w408-h272-k-no,"55.6401172,37.533220299999996"
"pizza","Zhar Pitstsa",4.7,"Ulitsa Industrial'naya, 15, str. 2, Mytishchi, Moscow Oblast, Russia, 141006",262,,"Pizza restaurant, Pizza delivery","Delivery, Takeout",http://www.pizza-jar.ru/,+79055070171,https://lh5.googleusercontent.com/p/AF1QipMMrXJkExDf3bQphAfGYTd26LfqaZwDTPvjMQkx=w408-h544-k-no,"55.9251735,37.7667529"
"pizza","City Pizza",2.3,"4-Y Syromyatnicheskiy Pereulok, 3/5, Moscow, Russia, 105120",6,$$,"Pizza restaurant, Pizza delivery","Delivery, Dine-in",http://www.citypizza.ru/,+74959818198,https://streetviewpixels-pa.googleapis.com/v1/thumbnail?panoid=57nDhT-w0Qgu7WfJNUW60Q&cb_client=search.gws-prod.gps&w=408&h=240&yaw=28.351305&pitch=0&thumbfov=100,"55.755070599999996,37.6673556"
"pizza","Pizzeria Allo! Pizza | Kafe, dostavka edy Krymskaya",4.4,"Sevastopol Ave, 15k1, 1 piano, Moscow, Russia, 117447",30

Salvataggio di tutti i dati di contatto in formato SQL

Formato del risultato:

[%  FOREACH serp;   "INSERT INTO serp VALUES('" _ query _ "', '"; name _ "', '"; rating _ "', '"; address _ "', '"; reviews _ "', '"; price _ "', '"; categories _ "', '"; tags _ "', '"; site _ "', '";  phones _ "', '"; photo _ "', '";  coordinates _ "')\n"; END  %]

Esempio di risultato:

INSERT INTO serp VALUES('pizza', 'Vivat Pizza', '4.7', 'Prospekt Marshala Zhukova,
19/1, Moscow, Russia,
123308', '558', '$', 'Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant', 'No-contact delivery, Delivery, Takeaway, Great cocktails, Wheelchair-accessible car park, Wheelchair-accessible entrance, Beer, Late-night food, Wine, Dessert, Bar on site, Good for kids, High chairs, Casual, Cosy, Groups', 'http: //www.vivatpizza.ru/', '+74957808090', 'https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no', '55.7753678,37.4888493')
INSERT INTO serp VALUES('pizza', 'Premier Pizza', '4.2', 'pr-kt Leningradskiy,
37, Moscow, Russia,
125167', '5', '', 'Pizza restaurant, Pizza takeaway', 'Delivery, Takeaway, Dine-in, Good for kids, Casual, Groups', 'http: //premierpizza.ru/', '+74952210717', '', '55.7727005,37.5315456')
INSERT INTO serp VALUES('pizza', 'City Pizza', '5', 'Ordynka M. ul. 19, Moskva,
119017, Moscow, Russia,
115035', '1', '$', 'Pizza restaurant, Pizza delivery', 'Delivery, Dine-in', 'https: //www.citypizza.ru/', '', 'https://streetviewpixels-pa.googleapis.com/v1/thumbnail?panoid=dowqjCRyBVGFlZWPNAKQeg&cb_client=search.gws-prod.gps&w=408&h=240&yaw=87.83791&pitch=0&thumbfov=100', '55.741704999999996,37.6258066')
INSERT INTO serp VALUES('pizza', 'Pizza 22 cm', '4.6', 'Ulitsa Solyanka,
1/2, Moscow, Russia,
109028', '1309', '$', 'Pizza restaurant, Italian restaurant', 'Takeaway, Dine-in, Delivery, Wheelchair-accessible entrance, Dessert, Good for kids, Casual, Cosy, Groups', 'http: //pizza22cm.ru/#msk', '+79264297222', 'https://lh5.googleusercontent.com/p/AF1QipOYxiI0ITxnRGGltyFFW1Y8MmcPZMoJMz9dd77u=w408-h272-k-no', '55.754531799999995,37.6380833')
INSERT INTO serp VALUES('pizza', 'Dodo Pizza', '4.4', 'Ulitsa Miklukho-Maklaya,
36A, Moscow, Russia,
117198', '116', '$', 'Pizza restaurant, Coffee stand, Pizza delivery, Pizza takeaway', 'No-contact delivery, Delivery, Takeaway, Dine-in, Vegetarian options, Breakfast, Lunch, Dessert, Seating, Good for kids, Casual, Cosy, Family friendly, Groups, Debit cards, NFC mobile payments', 'https: //dodopizza.ru/Moscow/belyaevo', '+78003330060', 'https://lh5.googleusercontent.com/p/AF1QipOJ7jbAJEA8imRs58tf2roiESzzkLCyTsVUk2Zk=w408-h272-k-no', '55.6401172,37.533220299999996')

Dump di tutti i dati di contatto in JSON

Formato comune del risultato:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.query = query;
obj.contacts = [];

FOREACH item IN p1.serp;
obj.contacts.push({
name = item.name
rating = item.rating
address = item.address
reviews = item.reviews
price = item.price
categories = item.categories
tags = item.tags
site = item.site
phones = item.phones
photo = item.photo
coordinates = item.coordinates
});
END;

obj.json %]

Testo iniziale:

[

Testo finale:

]

Esempio di risultato:

[{
"contacts": [
{
"coordinates": "55.7753678,37.4888493",
"photo": "https://lh5.googleusercontent.com/p/AF1QipN7H4fucI4JR1xGP6bdXorluhq9eq4l85QvCKXx=w426-h240-k-no",
"reviews": 558,
"name": "Vivat Pizza",
"categories": "Pizza restaurant, Italian restaurant, Restaurant, Sushi restaurant",
"phones": "+74957808090",
"tags": "No-contact delivery, Delivery, Takeaway, Great cocktails, Wheelchair-accessible car park, Wheelchair-accessible entrance, Beer, Late-night food, Wine, Dessert, Bar on site, Good for kids, High chairs, Casual, Cosy, Groups",
"rating": 4.7,
"site": "http://www.vivatpizza.ru/",
"address": "Prospekt Marshala Zhukova, 19/1, Moscow, Russia, 123308",
"price": "$$"
},
{
"coordinates": "55.7727005,37.5315456",
"photo": "",
"reviews": 5,
"name": "Premier Pizza",
"categories": "Pizza restaurant, Pizza takeaway",
"phones": "+74952210717",
"tags": "Delivery, Takeaway, Dine-in, Good for kids, Casual, Groups",
"rating": 4.2,
"site": "http://premierpizza.ru/",
"address": "pr-kt Leningradskiy, 37, Moscow, Russia, 125167",
"price": ""
}

],
"query": "pizza"
}]
suggerimento

Affinché le opzioni "Prepend text" e "Append text" siano disponibili nell'Editor delle attività, è necessario attivare "More options".

Impostazioni possibili

ParametroValore predefinitoDescrizione
Coordinates55.780844,37.6572693Coordinate dell'area di ricerca, parametro obbligatorio
Zoom11Zoom, parametro obbligatorio
CountryAuto (Based on IP)Paese da cui viene effettuata la ricerca
LanguageEnglishScelta della lingua dei risultati
Collect full regionAccetta in input l'ID della regione (o una lista), così come il passo in chilometri (Step in kilometers); per aree densamente edificate è possibile specificare ad esempio 0.5 o 0.2 chilometri. Dettagli. OSM Mode ha i valori: Location code / Location string. Dettagli
Max pages10Numero massimo di pagine per query