File size: 1,276 Bytes
e93a448
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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