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

Как расшифровать строку url запроса?

Всем мир!

Url = 'https://www.avito.ru/rostov-na-donu/avtomobili/aud...'

Скажите, как расшифровать данный отрезок: f=ASgBAgECAUTgtg3elygBRfgCGHsiZnJvbSI6ODkzLCJ0byI6NDMxNzg5fQ
Возможно я не правильно сформулировал свой вопрос, ввиду не знания, но суть такова, можно ли перевести это в текст, чтобы самому отправлять запрос через requests и получать ответ.

Интересно, что это такое и для чего это делается?
Заранее всем спасибо!
  • Вопрос задан
  • 1110 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
base64, думаю, у авито своя кодировка, поэтому привести обратно в текст как обычный b64 не выйдет.

Интересно, что это такое и для чего это делается

Это просто строка для сокращения фильтров. Хотя, судя по всему, кроме года выпуска авто она ни за что не отвечает.

Если хотите узнать откуда она собирается - откройте инструменты разработчика на F12 - вкладка Network. При изменении года выпуска отправляется запрос на js/catalog с различными фильтрующими параметрами.

Если его причесать через urlencoder, то выйдет примерно это:
https://www.avito.ru/js/catalog?_=&categoryId=9&locationId=652000&radius=0&cd=1&s=101&p=1&params[188][from]=893&params[188][to]=896&params[110000]=329199&verticalCategoryId=0&rootCategoryId=1&localPriority=0&sellerId=&proprofile=1&proProfileDomain=&countOnly=1


Где params[188][from] и params[188][to] - года выпуска от и до соответственно.
params[188][from]=893 - год 2000
params[188][to]=896 - год 2003
Почему года не соответствуют цифрам - значит так надо авито.

В ответ на этот запрос возвращается ссылка на страницу с поиском машин с этими фильтрами, в данном случае:
/rostov-na-donu/avtomobili/audi?cd=1&f=ASgBAgECAUTgtg3elygBRfgCFXsiZnJvbSI6ODkzLCJ0byI6ODk2fQ&localPriority=0

Где и есть этот параметр f

Думаю, вам он не особо нужен, важен только первый запрос, который был во вкладке Network, можно просто отправлять его как GET и получать в ответ нужную вам ссылку из JSON объекта, который приходит в ответ.

В принципе, расшифровка base64 примерно и дает этот результат:
6061fa92d5694516957328.jpeg

Так что открываете инструменты разработчика, Network, включаете фильтр на XHR и пробуете изменить какие либо фильтры. В результате находите запрос на js/catalog с нужными вам параметрами, ну и там уже методом проб разбираетесь какой параметр за что отвечает
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект
17 янв. 2025, в 23:56
10000 руб./за проект