Задать вопрос
@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)
  • Вопрос задан
  • 468 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Вам НЕ нужно парсить номер телефона. Парсите просто сами объявления и ссылки на них. Вы ведь эти объявления потом все равно где-то выложите? Выложите! Вот там где вы это выложите сделайте аналогичную кнопку Показать номер - при нажатии на эту кнопку вытаскивайте номер с авито и показываете посетителю.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы