Другое

Как получить все ID пунктов выдачи Wildberries

Полное руководство по получению ID всех пунктов выдачи заказов Wildberries через веб-скрапинг и коммерческие API.

Как получить ID всех пунктов выдачи заказов (ПВЗ) на Wildberries?

Я знаю, что на странице https://www.wildberries.ru/services/besplatnaya-do… можно выбрать ПВЗ для получения заказа.

Также информация о конкретном ПВЗ доступна по адресу: https://www.wildberries.ru/webapi/spa/poo/{ID}/show, где {ID} — это ID пункта выдачи. Например: https://www.wildberries.ru/webapi/spa/poo/50014067/show.

Подскажите, пожалуйста, как можно получить все ID пунктов выдачи заказов Wildberries? Или есть другие способы получить полный список всех ПВЗ?

Wildberries не предоставляет публичного API для получения полного списка всех ID пунктов выдачи заказов (ПВЗ), так как это коммерческая информация, которая может использоваться конкурентами. Для получения списка ПВЗ необходимо использовать веб‑скрапинг или обратное проектирование их API, либо работать с коммерческими агрегаторами данных, которые предоставляют такие сервисы.

Основные методы получения списка ПВЗ

На данный момент существует несколько подходов для получения информации о пунктах выдачи Wildberries:

  1. Веб‑скрапинг страницы выбора ПВЗ – самый доступный метод, но технически сложный
  2. Анализ сетевых запросов при работе с сайтом Wildberries
  3. Использование коммерческих API от третьих сервисов
  4. Обратная разработка мобильных приложений Wildberries

Как отмечено в отчетах о деятельности Wildberries, компания управляет сетью из более чем 90 000 pickup points across multiple markets, что делает актуальный список критически важным для многих сервисов.


Веб‑скрапинг как решение

Наиболее доступным методом является парсинг страницы выбора пунктов выдачи. Вот пошаговый подход:

Подготовка к парсингу

  1. Определение целевой страницы: https://www.wildberries.ru/services/besplatnaya-dostavka
  2. Анализ структуры страницы – ПВЗ обычно загружаются через AJAX‑запросы
  3. Эмуляция браузера – многие современные сайты используют защиту от скрапинга

Технические аспекты

python
import requests
import json
from selenium import webdriver
from selenium.webdriver.common.by import By

def get_pickup_points():
    # Используем Selenium для обхода защиты
    driver = webdriver.Chrome()
    driver.get("https://www.wildberries.ru/services/besplatnaya-dostavka")
    
    # Ждем загрузки ПВЗ
    driver.implicitly_wait(10)
    
    # Поиск элементов с ID ПВЗ
    pickup_elements = driver.find_elements(By.CSS_SELECTOR, '[data-pvz-id]')
    
    pvz_ids = []
    for element in pickup_elements:
        pvz_id = element.get_attribute('data-pvz-id')
        if pvz_id:
            pvz_ids.append(pvz_id)
    
    driver.quit()
    return pvz_ids

Важно: Wildberries активно борется с парсингом, поэтому данный код может требовать регулярного обновления и обхода защитных механизмов.


Коммерческие API и агрегаторы

Для профессионального использования существуют коммерческие решения:

Apify Wildberries Scraper API

Согласно документации Apify, существуют готовые решения для парсинга Wildberries:

bash
curl "https://api.apify.com/v2/acts/powerai~wildberries-products-search-scraper/runs?token=$API_TOKEN"

Другие API сервисы

  • DataForSEO – предоставляет API для получения данных о магазинах и пунктах выдачи
  • ParseHub – визуальный парсер с поддержкой сложных веб‑приложений
  • Octoparse – облачный парсер с возможностью работы с динамическими сайтами

Преимущество коммерческих API в том, что они:

  • Обходят защиту от парсинга
  • Предоставляют структурированные данные
  • Обеспечивают регулярное обновление информации
  • Поддерживают пагинацию и фильтрацию

Ограничения и юридические аспекты

При работе с данными Wildberries необходимо учитывать следующие ограничения:

Технические ограничения

  • Частота запросов – Wildberries может блокировать IP‑адреса при частых запросах
  • Динамическая загрузка – данные загружаются через JavaScript
  • Защита от ботов – использование CAPTCHA и других защитных мер

Юридические аспекты

Согласно отчетам о деятельности Wildberries, компания обрабатывает более 20 миллионов заказов ежедневно и имеет развитую логистическую инфраструктуру. Использование их данных должно соответствовать:

  1. Условиям использования сайта Wildberries
  2. ФЗ‑152 “О персональных данных” при работе с адресами
  3. Авторитетным источникам – данные должны быть актуальными и проверенными

Рекомендация: Для коммерческого использования лучше использовать официальные интеграции или коммерческие API, чтобы избежать юридических рисков.


Практические примеры и код

Пример получения данных о конкретном ПВЗ

Как вы уже заметили, информация о конкретном ПВЗ доступна по URL:
https://www.wildberries.ru/webapi/spa/poo/{ID}/show

Для пакетного получения данных можно использовать следующий подход:

python
import concurrent.futures
import time

def get_pvz_info(pvz_id):
    url = f"https://www.wildberries.ru/webapi/spa/poo/{pvz_id}/show"
    try:
        response = requests.get(url, timeout=5)
        if response.status_code == 200:
            return response.json()
    except:
        pass
    return None

def batch_get_pvz_info(pvz_ids, max_workers=5):
    results = {}
    with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor:
        future_to_id = {executor.submit(get_pvz_info, pvz_id): pvz_id for pvz_id in pvz_ids}
        
        for future in concurrent.futures.as_completed(future_to_id):
            pvz_id = future_to_id[future]
            try:
                result = future.result()
                if result:
                    results[pvz_id] = result
                    print(f"Получен ПВЗ {pvz_id}")
            except Exception as e:
                print(f"Ошибка при получении ПВЗ {pvz_id}: {e}")
    
    return results

# Пример использования
pvz_ids = ["50014067", "50014068", "50014069"]  # примеры ID
pvz_data = batch_get_pvz_info(pvz_ids)

Альтернативный подход через мобильное приложение

Мобильные приложения часто используют более простые API. Можно использовать инструменты вроде Charles Proxy или Fiddler для перехвата запросов из приложения Wildberries и анализа структуры API.


Источники

  1. Wildberries Pilots Drone Delivery for Online Orders - Zawya
  2. Russian online retailer Wildberries greenlights pilot involving drone deliveries for orders - Retail Technology Innovation Hub
  3. Wildberries Products Search Scraper API - Apify
  4. Wildberries Launches Free Deepfake Detector - Zawya
  5. Wildberries Pilots Drone Delivery for Online Orders - Newspatrolling

Заключение

Для получения полного списка ID всех пунктов выдачи заказов Wildberries доступны следующие подходы:

  1. Веб‑скрапинг страницы выбора ПВЗ – технически сложный, но бесплатный метод
  2. Использование коммерческих API – надежный, но платный вариант с регулярным обновлением данных
  3. Анализ мобильного приложения – может дать доступ к неофициальным API
  4. Обратная разработка существующих сервисов – для опытных разработчиков

Рекомендации для практического использования:

  • Для разовых задач – используйте веб‑скрапинг с учетом ограничений
  • Для регулярного обновления данных – выбирайте коммерческие API
  • Всегда проверяйте актуальность полученных данных
  • Учитывайте юридические аспекты при использовании коммерческих данных

Wildberries продолжает активно развивать свою логистическую сеть, поэтому список ПВЗ постоянно обновляется. Для получения самой актуальной информации рекомендуется регулярно обновлять методы сбора данных или использовать специализированные сервисы, которые следят за изменениями в реальном времени.

Авторы
Проверено модерацией
Модерация