Spaces:
Running
Running
import tempfile | |
import browser_cookie3 | |
from yt_dlp import YoutubeDL | |
def export_youtube_cookies_netscape(domain: str = "youtube.com") -> str: | |
""" | |
Exporte les cookies du navigateur (Chrome/Firefox) pour le domaine | |
spécifié dans un fichier au format Netscape (standard .txt). | |
Retourne le chemin du fichier temporaire. | |
""" | |
# Récupère les cookies du navigateur | |
# browser_cookie3 supporte 'chrome', 'firefox', 'edge'… | |
# cj = browser_cookie3.brave(domain_name=domain) | |
cj = browser_cookie3.librewolf(domain_name=domain) | |
# Crée un fichier temporaire en mode écriture texte | |
tmp = tempfile.NamedTemporaryFile(mode="w", delete=False, suffix=".txt") | |
# Format Netscape : | |
# domain \t include_subdomains \t path \t secure \t expires \t name \t value | |
for cookie in cj: | |
include_sub = "TRUE" if cookie.domain.startswith('.') else "FALSE" | |
secure_flag = "TRUE" if cookie.secure else "FALSE" | |
expires = cookie.expires or 0 | |
line = "\t".join([ | |
cookie.domain, | |
include_sub, | |
cookie.path, | |
secure_flag, | |
str(expires), | |
cookie.name, | |
cookie.value, | |
]) | |
tmp.write(line + "\n") | |
tmp.flush() | |
return tmp.name | |