Maps::Yandex - Yandex Maps scraper

Yandex Maps parser overview
The Yandex Maps parser collects contact details of organizations.
A-Parser functionality allows you to save parsing settings for future use (presets), set parsing schedules, and much more. You can use automatic query multiplication, substitution of subqueries from files, brute-forcing of alphanumeric combinations and lists to obtain the maximum possible number of results.
Saving results is possible in any form and structure you need, thanks to the powerful built-in Template Toolkit which allows applying additional logic to results and outputting data in various formats, including JSON, SQL, and CSV.
Collected data
- Organization name
- Address and coordinates
- Rating, number of reviews, and price policy
- Categories and tags
- Website, social networks, and phone numbers
- Link to photo and logo
- Description
- Link to the organization's page on Yandex Maps
- Information about opening hours
Capabilities
- Coordinates and zoom of the search area must be specified
- Ability to set the number of pages for data collection
- Ability to specify the language of results
- Ability to use Antigate to bypass captchas
Use cases
- Collecting a list of organizations present in a given area
- Obtaining organization contacts
- Any other cases involving searching for organizations on maps
Queries
As queries, you need to specify keywords, just as if you were entering them directly into the Yandex Maps search form, for example:
pizza
Output results examples
A-Parser supports flexible result formatting thanks to the built-in Template Toolkit, which allows it to output results in any form, as well as in structured formats like CSV or JSON
Default output
Result format:
$serp.format('$name ($rating): $address\n')
The result displays a list of organizations, their ratings, and addresses:
Pirogi № 1 (4.9): Russia, Moscow, Bolshiye Kamenshchiki street, 9, str. B
Einstein lounge (4.8): Russia, Moscow, Taganskaya street, 29, str. 1
Gusto (4.1): Russia, Moscow, Bolshaya Dmitrovka street, 7/5s1
Friends (4.4): Russia, Moscow, Krasnobogatyrskaya street, 90, str. 2
Shisha City (4.4): Russia, Moscow, Vorontsovskaya street, 6, str. 7
Jacks (4.4): Russia, Moscow, 1-ya Frezernaya street, 2/1s10
Guilty Pleasure Restaurant (4.3): Russia, Moscow, Oruzheyny pereulok, 15A
White Fox (4.3): Russia, Moscow, Bolshoy Drovyanoy pereulok, 6
Output of all contact data
Result format:
$serp.format('$name ($rating): $address, $reviews, $price, $categories, $tags, $site, $phones, $photo, $coordinates, $social, $logo, $description, $link\n')
Result example:
Pirogi № 1 (4.9): Russia, Moscow, Bolshiye Kamenshchiki street, 9, str. B, 256, , Food delivery, Pizzerias, Bakeries, free delivery, card payment, grocery delivery, food delivery, 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, Moscow, Taganskaya street, 29, str. 1, 153, 900–1500 ₽, Hookah bars, Bars, pubs, Intellectual games, board games, summer terrace, card payment, business lunch, projector, Wi-Fi, sports broadcasts, , +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, Moscow, Bolshaya Dmitrovka street, 7/5s1, 133, 1500–1700 ₽, Restaurants, Pizzerias, business lunch, Wi-Fi, coffee to go, takeaway food, summer terrace, card payment, sports broadcasts, 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, Moscow, Vorontsovskaya street, 6, str. 7, 68, 900–1200 ₽, Hookah bars, Bars, pubs, Anti-cafe, board games, disabled parking, card payment, craft beer, Online pre-order, Wi-Fi, sports broadcasts, 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 CSV table
Result format:
[% FOREACH serp;
tools.CSVline(name, rating, address, reviews, price);
END %]
Result example:
"Pirogi № 1",4.9,"Russia, Moscow, Bolshiye Kamenshchiki street, 9, str. B",256,
"Einstein lounge",4.8,"Russia, Moscow, Taganskaya street, 29, str. 1",153,"900–1500 ₽"
Gusto,4.1,"Russia, Moscow, Bolshaya Dmitrovka street, 7/5s1",134,"1500–1700 ₽"
"Shisha City",4.4,"Russia, Moscow, Vorontsovskaya street, 6, str. 7",68,"900–1200 ₽"
"Hookah Kult Game",4.5,"Russia, Moscow, Shabolovka street, 2",66,"1200–1500 ₽"
Dump results to JSON
General output format:
[% 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 %]
Initial text:
[
Final text:
]
Result example:
[{
"query": "pizza",
"serp": [
{
"name": "Pirogi № 1",
"address": "Russia, Moscow, Bolshiye Kamenshchiki street, 9, str. B",
"phones": "+7 (499) 642-32-71, +7 (495) 127-78-47",
"rating": "4.9"
},
{
"name": "Einstein lounge",
"address": "Russia, Moscow, Taganskaya street, 29, str. 1",
"phones": "+7 (968) 068-99-09",
"rating": "4.8"
},
{
"name": "Gusto",
"address": "Russia, Moscow, Bolshaya Dmitrovka street, 7/5s1",
"phones": "+7 (495) 650-69-22",
"rating": "4.1"
},
]
}]
To make the "Start text" and "End text" options available in the Task Editor, you need to activate "More options".
Possible settings
| Parameter | Default value | Description |
|---|---|---|
| Coordinates | 55.780844,37.6572693 | Search area coordinates, required parameter |
| Zoom | 11 | Zoom, required parameter |
| Pages count | 5 | Number of pages |
| Language | English | Result language selection |
| AntiGate preset | default | Pre-configured parser preset Util::AntiGate |
