Задать вопрос
  • YoutubeDL (yt_dlp) и массовые прокси, кто как подключает список с проксями?

    @Erriuga
    yt_dlp не поддерживает список прокси, тебе нужно передавать по одному.

    Для каждого запроса только один прокси.

    Вроде того(зависит от того, что ты хочешь сделать) + проверки желательно всегда.

    # Считываем список рабочих прокси из файла
    with open("/home/shortsvideo/working_proxies.txt", "r") as f:
        working_proxies = f.read().splitlines()
    
    # Функция для проверки доступности прокси
    def get_random_proxy(proxies):
        return random.choice(proxies)
    
    # Настройки yt_dlp
    ydl_opts = {
        'http_user_agent': 'your_user_agent',
        'cookiefile': '/path/to/cookies.txt',
        'format': 'mp4',
        'outtmpl': '/path/to/downloads/%(id)s.mp4',
        'force_ipv6': True,
        'age_limit': 45,
    }
    
    urls = ['https://example.com/video1', 'https://example.com/video2']  # Список видео для скачивания
    
    for url in urls:
        proxy = get_random_proxy(working_proxies)  # Случайно выбираем прокси
        ydl_opts['proxy'] = proxy  # Указываем прокси для текущего запроса
        try:
            with YoutubeDL(ydl_opts) as ydl:
                ydl.download([url])  # Скачиваем видео
            print(f"Видео скачано успешно через прокси: {proxy}")
        except Exception as e:
            print(f"Ошибка при скачивании через прокси {proxy}: {e}")
            # Здесь можно исключить нерабочий прокси из списка


    UPD: ещё надо проверять, что список не пуст, если удаляешь из списка нерабочие; что куки вообще есть,
    Ответ написан