Как в парсере указать геолокацию?

Пробую создать небольшой парсер для https://sbermarket.ru/, собирающий список магазинов (название, логотип, url), осуществляющих доставку.
При первоначальном входе на сайт, до тех пор пока ты не введешь адрес доставки, у пользователя нет возможности перейти к выбору продуктов в конкретном магазине, а только общий список магазинов для этого города. При нажатии на логотип магазина, сайт просит указать адрес доставки. При просмотре через Инспектор Консоли разработчика никакого тега <a link='url'> нет. Только после указания адреса через Яндекс карты в Инспекторе Консоли разработчика появляется тег <a>. При нажатии на логотип магазина происходит переход к списку доступных продуктов.
Как мне через парсер обратиться к https://sbermarket.ru/, чтобы я мог захватить url магазинов (т.е. надо как-то ввести адрес доставки)?


Ответы (1 шт):

Автор решения: Dmitriy Begishev

Решил проблему следующим образом:

import requests

def get_markets(lat, lon):
    r = requests.get(
        f'https://sbermarket.ru/api/stores?lat={ lat }&lon={ lon }&include=closest_shipping_options,labels,retailer&shipping_method=delivery'.format(lat = lat, lon = lon), 
        headers={
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0', 
            'Accept': 'application/json, text/plain, */*', 
            'Accept-Encoding': 'gzip, deflate, br', 
            'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', 
            'api-version': '3.0',
            'client-token': '7ba97b6f4049436dab90c789f946ee2f', 
            'Connection': 'keep-alive', 
            'DNT': '1', 
            'Host': 'sbermarket.ru',
            'is-storefront-ssr': 'false', 
            'Referer': 'https://sbermarket.ru/',
            'Sec-Fetch-Dest': 'empty', 
            'Sec-Fetch-Mode': 'cors', 
            'Sec-Fetch-Site': 'same-origin',
            'TE': 'trailers', 
            
        }
        )
    return r.json()
→ Ссылка