Как исправить ошибку 429?

День добрый.

Сталкивался ли кто-то с такой проблемой на сайте https://www.pythonanywhere.com/ при деплое своего кода? Я пытаюсь скачать видео с Youtube посредством библиотеки youtube_dl и отправить его пользователю. Я прекрасно понимаю, что ошибка связана с большим количеством запросов на сервер. Запуск кода на локальной машине ошибок не вызывает и видео успешно скачивается, а вот на сервисе - беда.

Я смотрел решение проблемы в интернете, и там к запросу добавляли заголовок что-то вроде:

requests.get(link, headers={'User-agent': 'your bot 0.1'}), но это не решает мою проблему. Также пытался установить задержку, и это тоже не помогло.

Мне кажется, что проблема заключается в самом скачивании самого видео на сервере pythonanywhere, либо из-за того, что у меня нет прав на его скачивание в директорию.

Приведу ту часть кода, где происходит ошибка:

def download(title, link):
    ydl_opts = {
    'outtmpl': '{}.%(ext)s'.format(title),
    'format': 'bestaudio/best',
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '320',
        }]
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([link]) # ошибка появляется здесь исходя из отладчика
    return {
    'audio':open(title + '.mp3', 'rb'),
    'title':title,
    }

   

А это вывод ошибки из терминала:

Traceback (most recent call last):                                                                                                                                     
File "/home/DeN/.local/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 797, in extract_info                                                           
ie_result = ie.extract(url)                                                                                                                                        
File "/home/DeN/.local/lib/python3.8/site-packages/youtube_dl/extractor/common.py", line 532, in extract                                                         
ie_result = self._real_extract(url)                                                                                                                                
File "/home/DeN/.local/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1798, in _real_extract                                                 
video_webpage, urlh = self._download_webpage_handle(url, video_id)                                                                                                 
File "/home/DeN/.local/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 276, in 
_download_webpage_handle                                       
return super(YoutubeBaseInfoExtractor, self)._download_webpage_handle(
File "/home/DeN/.local/lib/python3.8/site-packages/youtube_dl/extractor/common.py", line 665, in _download_webpage_handle
urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
 File "/home/DeN/.local/lib/python3.8/site-packages/youtube_dl/extractor/common.py", line 650, in _request_webpage
raise ExtractorError(errmsg, sys.exc_info()[2], cause=err)
youtube_dl.utils.ExtractorError: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by <HTTPError 429: 'Too Many Requests'>); please report this iss
ue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt- 
dl.org/update  on how to update. Be sure to call youtube-dl with the --verbos
e flag and include its complete output.
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/DeN/.local/lib/python3.8/site-packages/telebot/util.py", line 69, in run
  task(*args, **kwargs)
  File "bot_ts.py", line 62, in music
  music_dict = DownloadMusic.download(title, video_url)
  File "bot_ts.py", line 49, in download
  ydl.download([link])

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