Maps::Yandex - Scraper di Yandex Maps

Panoramica dello scraper
Lo scraper di Yandex Maps raccoglie i dati di contatto delle organizzazioni.
Le funzionalità di A-Parser consentono 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, la combinazione di stringhe alfanumeriche e liste per ottenere il massimo numero possibile di risultati.
Il salvataggio dei risultati è possibile nel formato e nella struttura desiderati, 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.
Dati raccolti
- Nome dell'organizzazione
- Indirizzo e coordinate
- Valutazione, numero di recensioni e politica dei prezzi
- Categorie e tag
- Sito web, social network e numeri di telefono
- Link a foto e logo
- Descrizione
- Link alla pagina dell'organizzazione su Yandex Maps
- Informazioni sugli orari di apertura
Funzionalità
- È obbligatorio specificare le coordinate e lo zoom dell'area in cui viene effettuata la ricerca
- Possibilità di impostare il numero di pagine per la raccolta dati
- Possibilità di specificare la lingua dei risultati
- Possibilità di utilizzare AntiGate per bypassare i captcha
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 Yandex Maps, ad esempio:
pizza
Esempi 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:
Pirogi № 1 (4.9): Russia, Mosca, ulitsa Bolshie Kamenshiki, 9, str. B
Einstein lounge (4.8): Russia, Mosca, Taganskaya ulitsa, 29, str. 1
Gusto (4.1): Russia, Mosca, ulitsa Bolshaya Dmitrovka, 7/5s1
Friends (4.4): Russia, Mosca, Krasnobogatyrskaya ulitsa, 90, str. 2
Shisha City (4.4): Russia, Mosca, Vorontsovskaya ulitsa, 6, str. 7
Jacks (4.4): Russia, Mosca, 1-ya Frezernaya ulitsa, 2/1s10
Ristorante Guilty Pleasure (4.3): Russia, Mosca, Oruzheyny pereulok, 15A
White Fox (4.3): Russia, Mosca, Bolshoy Drovyanoy pereulok, 6
Output di tutti i dati di contatto
Formato del risultato:
$serp.format('$name ($rating): $address, $reviews, $price, $categories, $tags, $site, $phones, $photo, $coordinates, $social, $logo, $description, $link\n')
Esempio di risultato:
Pirogi № 1 (4.9): Russia, Mosca, ulitsa Bolshie Kamenshiki, 9, str. B, 256, , Consegna cibo, Pizzerie, Panifici, consegna gratuita, pagamento con carta, consegna spesa, consegna cibo, https://piroginomerodin.ru/, +7 (499) 642-32-71, +7 (495) 127-78-47, https://avatars.mds.yandex.net/get-altay/4489303/2a000001787d1771aebf8b4b849d986caea1/XXXL, 37.65577,55.738421, https://vk.com/piroginomerodin, https://www.instagram.com/piroginomerodin/, https://avatars.mds.yandex.net/get-tycoon/474201/2a0000016dd037b101f0cd4ad3968416440e/priority-headline-logo, , https://yandex.ru/maps/org/105121172016/
Einstein lounge (4.8): Russia, Mosca, Taganskaya ulitsa, 29, str. 1, 153, 900–1500 ₽, Hookah bar, Bar, pub, Giochi di intelligenza, giochi da tavolo, veranda estiva, pagamento con carta, business lunch, proiettore, Wi-Fi, trasmissioni sportive, , +7 (968) 068-99-09, https://avatars.mds.yandex.net/get-altay/2419289/2a000001748889d4246610a4f452790b8eee/XXXL, 37.668036,55.739651, https://www.instagram.com/einstein_lounge/, https://avatars.mds.yandex.net/get-tycoon/1635364/2a00000170a408e3bda96d25bf44857eed75/priority-headline-logo, , https://yandex.ru/maps/org/127811263445/
Gusto (4.1): Russia, Mosca, ulitsa Bolshaya Dmitrovka, 7/5s1, 133, 1500–1700 ₽, Ristoranti, Pizzerie, business lunch, Wi-Fi, caffè da asporto, cibo da asporto, veranda estiva, pagamento con carta, trasmissioni sportive, http://www.gusto-moscow.ru/, +7 (495) 650-69-22, https://avatars.mds.yandex.net/get-altay/2887807/2a0000017357f4fe86d86cd5d3e300855b86/XXXL, 37.614142,55.760285, https://www.facebook.com/pages/gusto-итальянская-кухня/300193353486996, https://www.instagram.com/gusto.rest/, , , https://yandex.ru/maps/org/1080982853/
Shisha City (4.4): Russia, Mosca, Vorontsovskaya ulitsa, 6, str. 7, 68, 900–1200 ₽, Hookah bar, Bar, pub, Anticafé, giochi da tavolo, parcheggio per disabili, pagamento con carta, birra artigianale, preordine online, Wi-Fi, trasmissioni sportive, http://www.shishataganka.ru/, +7 (958) 100-62-71, https://avatars.mds.yandex.net/get-altay/212783/2a0000015d991abf6d89fa812daac5491c4f/XXXL, 37.654414,55.739423, https://vk.com/shishacitytaganka, https://www.facebook.com/shishacitytaganka, https://www.instagram.com/shishacitytaganka, https://avatars.mds.yandex.net/get-tycoon/479792/2a000001746e2044d0177e25adeba8e943ac/priority-headline-logo, , https://yandex.ru/maps/org/1695943598/
Output in tabella CSV
Formato del risultato:
[% FOREACH serp;
tools.CSVline(name, rating, address, reviews, price);
END %]
Esempio di risultato:
"Pirogi № 1",4.9,"Russia, Mosca, ulitsa Bolshie Kamenshiki, 9, str. B",256,
"Einstein lounge",4.8,"Russia, Mosca, Taganskaya ulitsa, 29, str. 1",153,"900–1500 ₽"
Gusto,4.1,"Russia, Mosca, ulitsa Bolshaya Dmitrovka, 7/5s1",134,"1500–1700 ₽"
"Shisha City",4.4,"Russia, Mosca, Vorontsovskaya ulitsa, 6, str. 7",68,"900–1200 ₽"
"Kalyannaya Kult Game",4.5,"Russia, Mosca, ulitsa Shabolovka, 2",66,"1200–1500 ₽"
Dump dei risultati in JSON
Formato comune del risultato:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.query = query;
obj.serp = [];
FOREACH item IN p1.serp;
obj.serp.push({
name = item.name
rating = item.rating
address = item.address
phones = item.phones
});
END;
obj.json %]
Testo iniziale:
[
Testo finale:
]
Esempio di risultato:
[{
"query": "pizza",
"serp": [
{
"name": "Pirogi № 1",
"address": "Russia, Mosca, ulitsa Bolshie Kamenshiki, 9, str. B",
"phones": "+7 (499) 642-32-71, +7 (495) 127-78-47",
"rating": "4.9"
},
{
"name": "Einstein lounge",
"address": "Russia, Mosca, Taganskaya ulitsa, 29, str. 1",
"phones": "+7 (968) 068-99-09",
"rating": "4.8"
},
{
"name": "Gusto",
"address": "Russia, Mosca, ulitsa Bolshaya Dmitrovka, 7/5s1",
"phones": "+7 (495) 650-69-22",
"rating": "4.1"
},
]
}]
Per rendere disponibili le opzioni "Prepend text" e "Append text" nell'Editor delle attività, è necessario attivare "More options".
Impostazioni possibili
| Parametro | Valore predefinito | Descrizione |
|---|---|---|
| Coordinates | 37.6572693,55.780844 | Coordinate dell'area di ricerca, parametro obbligatorio — longitudine, latitudine, come nell'URL (ll=), e non come quando si copiano le coordinate con il pulsante sulla mappa |
| Zoom | 11 | Zoom, parametro obbligatorio |
| Pages count | 5 | Numero di pagine |
| Language | English | Scelta della lingua dei risultati |
| AntiGate preset | default | Preset preconfigurato dello scraper Util::AntiGate |
