@organica

Как скачать файл по непрямой ссылке?

Господа, помогите решить проблему:
Имеется сайт, на котором необходимо скачать csv файл для дальнейших манипуляций с данными.
Ссылка на файл не прямая, а вот такая
CSV_URL = f'somesite.ru/?export_excel=Y&FILTER%5BUF_WAREHOUSE%5D=1&FILTER%5BUF_SHIPPING_DATE%5D%5Bstart%5D%5B0%5D={date}&FILTER%5BUF_SHIPPING_DATE%5D%5Bfinish%5D%5B0%5D={date}'

Переход по этой ссылке запускает скачивание csv с нужными параметрами выборки.
На текущий момент я это дело качаю через Selenium, но хочу обойтись малой кровью через requests.
При рабоче через Selenium я указываю download.default_directory": ROOT_PATH и файл скачивается куда надо.

Глобально проблема в следующем: я этот скрипт упаковываю в .exe, но для его корректной работы надо везде таскать с собой сам драйвер для chrome. Бывает что на некоторых ПК версия хрома отличается и ничерта не работает:) А если решить эту задачу с помощью requests, все должно быть ок
  • Вопрос задан
  • 737 просмотров
Пригласить эксперта
Ответы на вопрос 3
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Откройте дебаг-консоль браузера и посмотрите какой именно запрос делает браузер для скачивания файла. Нажмите правой кнопкой и скопируйте CURL-команду для выполнения этого запроса из командной строки.
В условиях той скудной информации что вы предоставили (без примеров) вам подробнее ничто не подскажет.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
обычный request get

и затем r.raw write binary mode
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
Разве так не будет работать?

r = requests.get(CSV_URL)

with open('result.csv', 'wb') as f:
    f.write(r.content)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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