Решён
Как быстро собрать номера телефонов с Авито?

Ivan Parser Веб-скрапинг
9.4k
6

Задача такая: нужно собрать контактные телефоны продавцов с Авито по определенной категории товаров (стройматериалы, конкретный город). Руками открывать каждое объявление и копировать номер нереально, их там тысячи.

Пробовал парсить через requests + BeautifulSoup, но Авито отдает страницу без номеров, они подгружаются по кнопке "Показать телефон" отдельным запросом с какой то авторизацией. Селениум пробовал, но после 20-30 объявлений ловлю капчу и бан по IP.

Есть какой то адекватный способ автоматизировать сбор? Может API у них есть или готовые сервисы? Бюджет небольшой, до 5 тысяч рублей.

Решение
67
Участник • 2 ответа

Авито активно борется с парсингом, особенно номеров телефонов. Кнопка "Показать телефон" шлет POST-запрос на внутренний API с кучей заголовков, включая зашифрованный токен сессии и fingerprint браузера. Без валидной авторизованной сессии ответ не придет.

Что реально работает на практике:

  1. Selenium/Playwright + ротация прокси. Берешь пул резидентных прокси (не датацентровых, Авито их палит моментально). Каждые 10-15 объявлений меняешь IP. Между кликами рандомная задержка 5-15 секунд. Эмуляция движений мыши обязательна. Скорость: 200-400 номеров в сутки с одного аккаунта.

  2. Готовые сервисы парсинга. PhantomBuster, Octoparse, iMacros. Стоят от 3000 руб/мес. Они сами решают капчи и ротируют прокси. Но Авито регулярно ломает их скрипты, так что стабильность 50/50.

  3. Авито API (официальный). Существует для партнеров и крупных клиентов. Доступ дают не всем, нужно подавать заявку как юрлицо. Телефоны через API получить можно, но модерация строгая.

Важный момент: массовый сбор персональных данных (а номер телефона это персональные данные) без согласия владельцев нарушает 152-ФЗ. Если собираешь для холодных звонков, имей в виду что штрафы за спам-обзвон выросли в 2025 году.

Аватар Ivan Parser

Спасибо за развернутый ответ. Про 152-ФЗ в курсе, собираю для своего отдела продаж, звоним только по стройматериалам. Попробую вариант с резидентными прокси.

33
Участник • 1 ответ

Playwright + stealth плагин. Requests не прокатит, там JS-рендер.

from playwright.sync_api import sync_playwright
import time, random

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://www.avito.ru/moskva/stroymaterialy")

    items = page.query_selector_all("[data-marker='item']")
    for item in items:
        link = item.query_selector("a")
        if link:
            link.click()
            time.sleep(random.uniform(3, 7))
            phone_btn = page.query_selector("[data-marker='item-phone-button']")
            if phone_btn:
                phone_btn.click()
                time.sleep(2)
                # номер появится в DOM
            page.go_back()
            time.sleep(random.uniform(2, 5))

Это скелет. Дальше прикручивай прокси и антидетект сам.

12
Участник • 2 ответа

Ребят, вы серьезно тут обсуждаете как парсить чужие номера телефонов? Это прямое нарушение пользовательского соглашения Авито, пункт 3.4, запрет на автоматизированный сбор данных. Плюс 152-ФЗ "О персональных данных". Плюс 14.8 КоАП за нарушение прав потребителей при спам-звонках.

Авито уже выиграло несколько судебных дел против парсеров в 2024 году. Штрафы от 300 тысяч для юрлиц.

Вместо этого: Авито Про позволяет легально получать обращения от заинтересованных клиентов. Или используйте таргетированную рекламу.

Аватар Анна

А вы прям юрист или так, по верхам нахватались? Парсинг открытых данных не запрещен по закону, есть решение ВС по делу LinkedIn. Пользовательское соглашение это гражданско-правовой договор, а не уголовный кодекс.

8
Эксперт • 1 ответ

Зачем мучиться с кодом? На фрилансе полно исполнителей, которые за 2-3 тысячи соберут любую базу с Авито за день. Ищи на Kwork по запросу "парсинг авито", там готовые гиги висят. Отдаешь ТЗ, получаешь Excel с номерами.

3
Участник • 1 ответ

используй сервис datacol или его аналоги, у них есть готовые шаблоны под авито с обходом защиты, вроде бесплатный тариф на 1000 записей есть

0
Участник • 2 ответа

тоже ищу способ спарсить авито, только мне емейлы нужны а не телефоны... если кто нашел рабочий парсер напишите плз

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.