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: ещё надо проверять, что список не пуст, если удаляешь из списка нерабочие; что куки вообще есть,