Pull to refresh

Comments 18

Только подписок то нет, надо иметь возможность просматривать список подписок и новые видео. У каналов есть рсс, можно грузить, складывать, ставить галочку на загрузку и грузить.

Может, не стоит бинарник напрямую к исходникам добавлять? Сделать, например, (пре-)релиз.

Статьи – супер! Думаю, что потянут на номинацию «статья года», которую организовывает Хабр для каждого направления.

А так, сразу возникает желание обернуть код в графический интерфейс, вроде «4KVDownloaderPortable» (доступен на торрентах). Только последний, похоже, требует впн.

Но, поскольку, у автора все главные успехи еще впереди, то хотел бы спросить: «Возможен ли обход ограничений Ютуба, на доступ к своему аккаунту, из новых регионов России?». Дело в том, что там поменялся код региона с +38 на +7. Соответственно, Ютуб высылает код доступа на +38, который уже недоступен. А с +7, для того же самого номера, работать не хочет (санкции, блин!). Также не позволяет создать новую учетную запись с кодом региона «новых территорий».

Скачиваю своим велосипедом, без смс и регистрации, тоже на pytubefix, но из статьи допилю в части объединения видео и аудио, спасибо :)

похоже что то пошло не так :)

Спасибо за фидбэк, починил =)

Добавил в закладки - удобно и быстро качает) Вам спасибо за сервис)

Да не за что, пользуйтесь на здоровье))

Спасибо, интересно. Первую часть то забанили...

Файл недоступен

У меня, кстати, pytubefix не завелся совсем. Пример брал из документации библиотеки. Зато yt-dlp заработал вообще без вопросов

Скрытый текст
RegexMatchError                           Traceback (most recent call last)
Cell In[1], line 6
      2 from pytubefix.cli import on_progress
      4 url = input("https://youtu.be/8KcR7vR1DQ8")
----> 6 yt = YouTube(url, on_progress_callback = on_progress)
      7 print(yt.title)
      9 ys = yt.streams.get_highest_resolution()

File ~\AppData\Local\Programs\Python\Python313\Lib\site-packages\pytubefix\__main__.py:134, in YouTube.__init__(self, url, client, on_progress_callback, on_complete_callback, proxies, use_oauth, allow_oauth_cache, token_file, oauth_verifier, use_po_token, po_token_verifier)
    131 self._metadata: Optional[YouTubeMetadata] = None
    133 # video_id part of /watch?v=<video_id>
--> 134 self.video_id = extract.video_id(url)
    136 self.watch_url = f"https://youtube.com/watch?v={self.video_id}"
    137 self.embed_url = f"https://www.youtube.com/embed/{self.video_id}"

File ~\AppData\Local\Programs\Python\Python313\Lib\site-packages\pytubefix\extract.py:145, in video_id(url)
    130 def video_id(url: str) -> str:
    131     """Extract the ``video_id`` from a YouTube url.
    132 
    133     This function supports the following patterns:
   (...)    143         YouTube video id.
    144     """
--> 145     return regex_search(r"(?:v=|\/)([0-9A-Za-z_-]{11}).*", url, group=1)

File ~\AppData\Local\Programs\Python\Python313\Lib\site-packages\pytubefix\helpers.py:131, in regex_search(pattern, string, group)
    129 results = regex.search(string)
    130 if not results:
--> 131     raise RegexMatchError(caller="regex_search", pattern=pattern)
    133 logger.debug("matched regex search: %s", pattern)
    135 return results.group(group)

RegexMatchError: regex_search: could not find match for (?:v=|\/)([0-9A-Za-z_-]{11}).*

вот так

Sign up to leave a comment.

Articles