diff --git a/extractors/channel.py b/extractors/channel.py index 8c78ec3..0270631 100644 --- a/extractors/channel.py +++ b/extractors/channel.py @@ -18,7 +18,7 @@ def extract_channel(ucid): return channel_cache[ucid] channel_type = "channel" if len(ucid) == 24 and ucid[:2] == "UC" else "user" - with requests.get("https://www.youtube.com/{}/{}/videos?hl=en".format(channel_type, ucid)) as r: + with requests.get("https://www.youtube.com/{}/{}/videos?hl=en".format(channel_type, ucid), cookies={"CONSENT": "YES+cb.20210328-17-p0.en+FX+101"}) as r: r.raise_for_status() yt_initial_data = extract_yt_initial_data(r.content.decode("utf8")) diff --git a/extractors/search.py b/extractors/search.py index d2ffc0a..64cf21c 100644 --- a/extractors/search.py +++ b/extractors/search.py @@ -1,6 +1,6 @@ import requests import traceback -import youtube_dlc +import yt_dlp from tools.converters import * from tools.extractors import extract_yt_initial_data from cachetools import TTLCache @@ -13,11 +13,11 @@ ytdl_opts = { "playlist_items": "1-100", "extract_flat": "in_playlist" } -ytdl = youtube_dlc.YoutubeDL(ytdl_opts) +ytdl = yt_dlp.YoutubeDL(ytdl_opts) def extract_search(q): try: - with requests.get("https://www.youtube.com/results", params={"q": q, "hl": "en"}) as r: + with requests.get("https://www.youtube.com/results", params={"q": q, "hl": "en"}, cookies={"CONSENT": "YES+cb.20210328-17-p0.en+FX+101"}) as r: r.raise_for_status() content = r.content.decode("utf8") yt_initial_data = extract_yt_initial_data(content) diff --git a/extractors/video.py b/extractors/video.py index 11d7d73..3d6ebc9 100644 --- a/extractors/video.py +++ b/extractors/video.py @@ -4,7 +4,7 @@ import json import os import re import traceback -import youtube_dlc +import yt_dlp import urllib.error from tools.converters import * from tools.extractors import extract_yt_initial_data, extract_yt_initial_player_response @@ -24,7 +24,7 @@ ytdl_opts = { "writesubtitles": True, "allsubtitles": True, } -ytdl = youtube_dlc.YoutubeDL(ytdl_opts) +ytdl = yt_dlp.YoutubeDL(ytdl_opts) def format_order(format): # most significant to least significant @@ -185,7 +185,7 @@ def extract_video(id): return result - except youtube_dlc.DownloadError as e: + except yt_dlp.DownloadError as e: files.clean_up_temp_files(id) if isinstance(e.exc_info[1], urllib.error.HTTPError): diff --git a/index.py b/index.py index 2e8f098..43296cc 100644 --- a/index.py +++ b/index.py @@ -2,7 +2,7 @@ import cherrypy import json import pathlib import requests -import youtube_dlc +import yt_dlp from extractors.video import extract_video from extractors.channel import extract_channel, extract_channel_videos, extract_channel_latest from extractors.manifest import extract_manifest diff --git a/requirements.txt b/requirements.txt index 1454d70..ddf128a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ cherrypy -youtube-dlc +yt-dlp cachetools python-dateutil requests