Задать вопрос
@ubirust

При парсинге телефона на Авито через json выдается другой номер телефона. Почему так?

При парсинге телефона на Авито через json выдается другой номер телефона, отличающийся от указанного в объявлении.

По факту телефон удается получить, но, я так понимаю, авито специально подменяет его. Как можно это обойти? Нужно получать тот телефон, который указан в объявлении. Понятное дело, что через селениум можно. Хочу понять, как можно правильный номер через json получить.

Сам код на Python

import requests, json, sys
# Парсер телефона в конкретном объявлении
key = 'af0deccbgcgidddjgnvljitntccdduijhdinfgjgfjir'
s = requests.Session()
params = {'key': key}
url_get_phone = 'https://m.avito.ru/api/1/items/2117597297/phone' # URL запрос телефона, где после items/ идёт id объявления
phone = s.get(url_get_phone, params=params).json() # Сам запрос
if phone['status'] == 'ok': phone_number = requests.utils.unquote(phone['result']['action']['uri'].split('number=')[1]) # Проверка на наличие телефона
else: phone_number = phone['result']['message']
print(phone_number)
  • Вопрос задан
  • 560 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Вам НЕ нужно парсить номер телефона. Парсите просто сами объявления и ссылки на них. Вы ведь эти объявления потом все равно где-то выложите? Выложите! Вот там где вы это выложите сделайте аналогичную кнопку Показать номер - при нажатии на эту кнопку вытаскивайте номер с авито и показываете посетителю.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽