Ga naar de hoofdinhoud

Maps::Yandex - Scraper voor Yandex Maps

img

Overzicht van de scraper​

De Yandex Maps scraper verzamelt contactgegevens van organisaties.

De functionaliteit van A-Parser maakt het mogelijk om instellingen voor gegevensextractie op te slaan voor toekomstig gebruik (presets), extractieschema's in te stellen en nog veel meer. U kunt automatische query-vermenigvuldiging gebruiken, sub-query's uit bestanden invoegen, alfanumerieke combinaties en lijsten doorlopen om het maximaal mogelijke aantal resultaten te verkrijgen.

Het opslaan van resultaten is mogelijk in de vorm en structuur die u nodig heeft, dankzij de ingebouwde krachtige sjabloon-engine Template Toolkit waarmee u extra logica op de resultaten kunt toepassen en gegevens in verschillende formaten kunt uitvoeren, waaronder JSON, SQL en CSV.

Verzamelde gegevens​

  • Naam van de organisatie
  • Adres en coördinaten
  • Beoordeling, aantal reviews en prijsbeleid
  • Categorieën en tags
  • Website, sociale netwerken en telefoonnummers
  • Link naar foto en logo
  • Beschrijving
  • Link naar de organisatiepagina op Yandex Maps
  • Informatie over openingstijden

Mogelijkheden​

  • Het is verplicht om de coördinaten en zoom van het gebied op te geven waarin wordt gezocht
  • Mogelijkheid om het aantal pagina's voor gegevensverzameling in te stellen
  • Mogelijkheid om de taal van de resultaten op te geven
  • Mogelijkheid om Antigate te gebruiken voor het omzeilen van captcha's

Toepassingen​

  • Verzamelen van een lijst met organisaties die aanwezig zijn in een bepaald gebied
  • Verkrijgen van contactgegevens van organisaties
  • Alle andere scenario's waarbij het zoeken naar organisaties op kaarten vereist is

Query's​

Als query's moeten trefwoorden worden opgegeven, op dezelfde manier als wanneer ze rechtstreeks in het zoekformulier van Yandex Maps zouden worden ingevoerd, bijvoorbeeld:

pizza

Varianten van resultaatweergave​

A-Parser ondersteunt flexibele formattering van resultaten dankzij de ingebouwde sjabloon-engine Template Toolkit, waardoor resultaten in een willekeurige vorm kunnen worden weergegeven, evenals in gestructureerde formaten zoals CSV of JSON.

Standaard uitvoer​

Resultaatformaat:

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

Het resultaat toont een lijst met organisaties, hun beoordelingen en adressen:

Pirogi № 1 (4.9): Rusland, Moskou, ulitsa Bolshiye Kamenshchiki, 9, str. B
Einstein lounge (4.8): Rusland, Moskou, Taganskaya ulitsa, 29, str. 1
Gusto (4.1): Rusland, Moskou, ulitsa Bolshaya Dmitrovka, 7/5s1
Friends (4.4): Rusland, Moskou, Krasnobogatyrskaya ulitsa, 90, str. 2
Shisha City (4.4): Rusland, Moskou, Vorontsovskaya ulitsa, 6, str. 7
Jacks (4.4): Rusland, Moskou, 1-ya Frezernaya ulitsa, 2/1s10
Restaurant Guilty Pleasure (4.3): Rusland, Moskou, Oruzheyny pereulok, 15A
White Fox (4.3): Rusland, Moskou, Bolshoy Drovyanoy pereulok, 6

Uitvoer van alle contactgegevens​

Resultaatformaat:

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

Voorbeeld van resultaat:

Pirogi № 1 (4.9): Rusland, Moskou, ulitsa Bolshiye Kamenshchiki, 9, str. B, 256, , Maaltijdbezorging, Pizzeria's, Bakkerijen, gratis bezorging, betaling met kaart, boodschappenbezorging, maaltijdbezorging, 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): Rusland, Moskou, Taganskaya ulitsa, 29, str. 1, 153, 900–1500 ₽, Waterpijp-bars, Bars, pubs, Intellectuele spellen, bordspellen, zomerterras, betaling met kaart, zakenlunch, projector, Wi-Fi, sportuitzendingen, , +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): Rusland, Moskou, ulitsa Bolshaya Dmitrovka, 7/5s1, 133, 1500–1700 ₽, Restaurants, Pizzeria's, zakenlunch, Wi-Fi, koffie om mee te nemen, afhaalmaaltijden, zomerterras, betaling met kaart, sportuitzendingen, 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): Rusland, Moskou, Vorontsovskaya ulitsa, 6, str. 7, 68, 900–1200 ₽, Waterpijp-bars, Bars, pubs, Anticafé, bordspellen, parkeren voor gehandicapten, betaling met kaart, speciaalbier, Online reserveren, Wi-Fi, sportuitzendingen, 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/

Uitvoer naar CSV-tabel​

Resultaatformaat:

[% FOREACH serp; 
tools.CSVline(name, rating, address, reviews, price);
END %]

Voorbeeld van resultaat:

"Pirogi № 1",4.9,"Rusland, Moskou, ulitsa Bolshiye Kamenshchiki, 9, str. B",256,
"Einstein lounge",4.8,"Rusland, Moskou, Taganskaya ulitsa, 29, str. 1",153,"900–1500 ₽"
Gusto,4.1,"Rusland, Moskou, ulitsa Bolshaya Dmitrovka, 7/5s1",134,"1500–1700 ₽"
"Shisha City",4.4,"Rusland, Moskou, Vorontsovskaya ulitsa, 6, str. 7",68,"900–1200 ₽"
"Kalyannaya Kult Game",4.5,"Rusland, Moskou, ulitsa Shabolovka, 2",66,"1200–1500 ₽"

Dump van resultaten in JSON​

Algemeen resultaatformaat:

[% 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 %]

Begintekst:

[

Eindtekst:

]

Voorbeeld van resultaat:

[{
"query": "pizza",
"serp": [
{
"name": "Pirogi № 1",
"address": "Rusland, Moskou, ulitsa Bolshiye Kamenshchiki, 9, str. B",
"phones": "+7 (499) 642-32-71, +7 (495) 127-78-47",
"rating": "4.9"
},
{
"name": "Einstein lounge",
"address": "Rusland, Moskou, Taganskaya ulitsa, 29, str. 1",
"phones": "+7 (968) 068-99-09",
"rating": "4.8"
},
{
"name": "Gusto",
"address": "Rusland, Moskou, ulitsa Bolshaya Dmitrovka, 7/5s1",
"phones": "+7 (495) 650-69-22",
"rating": "4.1"
},
]
}]
tip

Om de opties "Prepend text" en "Append text" beschikbaar te maken in de Taak-editor, moet u "More options" activeren.

Mogelijke instellingen​

ParameterStandaardwaardeBeschrijving
Coordinates37.6572693,55.780844Coördinaten van het zoekgebied, verplichte parameter — lengtegraad, breedtegraad, zoals in de URL (ll=), en niet zoals bij het kopiëren van coördinaten met de knop op de kaart
Zoom11Zoom, verplichte parameter
Pages count5Aantal pagina's
LanguageEnglishTaalkeuze voor resultaten
AntiGate presetdefaultVooraf geconfigureerde preset van de scraper Util::AntiGateUtil::AntiGate