Как скачать файлы по url при помощи python и библиотеки wget?

Есть некий ресурс с pdf и doc файлами внутри. Нужно загрузить все эти файлы на локальную машину. Файлы имеют следующую ссылку: https://site.ru/files/download_file и далее номер документа, например 1025 (https://site.ru/files/download_file/1025). Написал следующий код, но у меня не работает. Подскажите как починить мой кривой код. Спасибо.

import wget
import ssl

ssl._create_default_https_context = ssl._create_unverified_context #Вылетала ошибка сертификата, поэтому это здесь)

dir_url = '\\pdf'

def tets():
    url_num = 1024
    for i in range(10):
        url_num += i
        url = 'https://site.ru/files/download_file/{url_num}'
        wget.download(url, out=dir_url)
    print('Good')

tets()

На этом этапе выполнение кода просто "висит" без ошибок


Ответы (1 шт):

Автор решения: Andy Pavlov

Все работает. Вы используете строку с подстановкой значения переменной, но не определяете ее как форматируемую.

Должно быть url = f'https://site.ru/files/download_file/{url_num}' или url = 'https://site.ru/files/download_file/{}'.format(url_num)

Прилагаю пример, где я качал через wget pdf с mos.ru

import wget
# import ssl

def tets():
    year = 2020
    url = f'https://www.mos.ru/upload/newsfeed/presspresentations/otchet_{year}.pdf'
    wget.download(url)
    print('Good')

tets()

Все работает и без установки ssl контекста

→ Ссылка