@i_vovani

Как спарсить номер телефона с авито без selenium и различных драйверов?

Писал парсер на python,чтобы тянуть номера телефона использовал selenium webdriver,но мне необходим вариант парсинга номера не используя driver
  • Вопрос задан
  • 4794 просмотра
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
1)Школьники всё равно в школу не ходят, наймите их за пару баксов, пусть кликают.
2)Ещё как вариант, вручную перепечатывать номера с картинок.
3)Ну если вы очень крутой программер, покопайтесь в js, там всего-то делов, отправить get запрос по адресу
https://www.avito.ru/items/phone/id_объявления
с параметрами:
5eab4525a90fd705297405.png
Половину я вам подсказал, за вами осталось узнать как генерируются pkey и searchHash.

Добавлено:
Вот код, параметры я скопировал из браузера. Если удастся понять как они(вернее как их значения) генерируется, то дело в шляпе):
Внимание! В коде обнаружены костыли!)
import requests
import base64

params = {	'pkey':'dfed69290bc453b834e2e0e2f16bf630',	# Осталось узнать, как генерируется это значение!
			'vsrc':'r',
			'searchHash':'ttv948zc8v4kg0oc4k0o8wok04w8ook'	# И это тоже!
			}

url = 'https://www.avito.ru/items/phone/1315030387'

response = requests.get(url,params=params)

with open("imageToSave.png", "wb") as fh:
    fh.write(base64.decodebytes(response.text[34:-2].encode()))

На выходе получаем картинку с номером для объявления с id 1315030387. На Python распознать не проблема.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
zkrvndm
@zkrvndm
Архитектор решений
На мобильной версии номер телефона выдается напрямую, отследите откуда он загружается и стучитесь туда с нужными параметрами. Либо, качайте картинку с номером из ПК версии, а далее доступно два варианта на выбор:
1. Отправить картинку на распознание в любой анти-капча сервис
2. Написать либу для распознавания, если умейте работать с массивами, ничего сложного

Пример скрипта для распознавания цифр с картинки.
Ответ написан
foxcode85
@foxcode85
Вот простое решение, все работает без распознавания картинок - ссылка на код
Ответ написан
Ваш ответ на вопрос

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

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