Skip to content

Latest commit

 

History

History
290 lines (201 loc) · 12 KB

README.fr.md

File metadata and controls

290 lines (201 loc) · 12 KB

vidéo en cours de fonctionnement

⬆️ TikTok Uploader

Un programme automatisé de téléchargement de vidéos TikTok basé sur Selenium

Anglais · Chinois (Simplifié) · Français · Espagnol · Allemand

➡️ Découvrez tranzlate sur GitHub un outil pour traduire du texte en utilisant ChatGPT

Forks Stars Watchers

Table des matières

Installation

Le prérequis pour utiliser ce programme est l'installation d'un navigateur Web compatible Selenium. Google Chrome est recommandé.

MacOS, Windows et Linux

Installez Python 3 ou une version plus récente depuis python.org

Téléchargement depuis PyPI (Recommandé)

Installez tiktok-uploader en utilisant pip

pip install tiktok-uploader

Compilation depuis la source

L'installation depuis la source permet une plus grande flexibilité pour modifier le code du module afin d'étendre le comportement par défaut.

D'abord, clonez et naviguez dans le dépôt. Ensuite, installez hatch, l'outil de construction utilisé pour ce projet 1. Ensuite, build le projet. Enfin, installez le projet avec le flag -e ou éditable.

git clone https://github.com/wkaisertexas/tiktok-uploader.git
cd tiktok-uploader
pip install hatch
hatch build
pip install -e .

Utilisation

tiktok-uploader fonctionne en dupliquant les cookies de votre navigateur, ce qui trompe TikTok en lui faisant croire que vous êtes connecté sur un navigateur télécommandé.

💻 Interface en ligne de commande (CLI)

Utiliser la CLI est aussi simple que d'appeler tiktok-uploader avec votre vidéos: chemin (-v), description(-d) et cookies (-c)

tiktok-uploader -v video.mp4 -d "c'est ma \"description\" échappée" -c cookies.txt
from tiktok_uploader.upload import upload_video, upload_videos
from tiktok_uploader.auth import AuthBackend

# vidéo unique
upload_video('video.mp4',
            description='voici ma description',
            cookies='cookies.txt')

# Plusieurs vidéos
videos = [
    {
        'path': 'video.mp4',
        'description': 'voici ma description'
    },
    {
        'path': 'video2.mp4',
        'description': 'voici aussi ma description'
    }
]

auth = AuthBackend(cookies='cookies.txt')
upload_videos(videos=videos, auth=auth)

⬆ Téléchargement de vidéos

Cette bibliothèque tourne autour de la fonction upload_videos qui prend en entrée une liste de vidéos qui ont des noms de fichier et des descriptions et sont passées comme suit:

from tiktok_uploader.upload import upload_videos
from tiktok_uploader.auth import AuthBackend

videos = [
    {
        'video': 'video0.mp4',
        'description': 'La vidéo 1 parle de ...'
    },
    {
        'video': 'video1.mp4',
        'description': 'La vidéo 2 parle de ...'
    }
]

auth = AuthBackend(cookies='cookies.txt')
failed_videos = upload_videos(videos=videos, auth=auth)

for video in failed_videos: # chaque objet vidéo d'entrée qui a échoué
    print(f'{video['video']} avec la description "{video['description']}" a échoué')

🫵 Mentions et Hashtags

Les mentions et les hashtags fonctionnent maintenant tant qu'ils sont suivis d'un espace. Cependant, vous en tant qu'utilisateur êtes responsable de vérifier qu'une mention ou un hashtag existe avant de poster

Exemple:

from tiktok_uploader.upload import upload_video

upload_video('video.mp4', '#fyp @icespicee', 'cookies.txt')

🪡 Recousus, Duos et Commentaires

Pour définir si une vidéo téléchargée permet des recousus, des commentaires ou des duos, il suffit de spécifier comment, stitch et/ou duet comme arguments clés à upload_video ou upload_videos.

upload_video(..., comment=True, stitch=True, duet=True)

Les commentaires, recousus et duos sont autorisés par défaut

🌐 Proxy

Pour définir un proxy, cela fonctionne actuellement seulement avec Chrome comme navigateur, autorise l'authentification utilisateur:mot de passe.

# proxy = {'user': 'monutilisateur', 'pass': 'monmotdepasse', 'host': '111.111.111', 'port': '99'}  # utilisateur:mot de passe
proxy = {'host': '111.111.111', 'port': '99'}
upload_video(..., proxy=proxy)

📆 Planification

La date et l'heure de planification de la vidéo seront traitées avec le fuseau horaire UTC.
La date et l'heure planifiées doivent être d'au moins 20 minutes dans le futur et au maximum de 10 jours.

import datetime
schedule = datetime.datetime(2020, 12, 20, 13, 00)
upload_video(..., schedule=schedule)

🔐 Authentification

L'authentification utilise les cookies de votre navigateur. Cette solution de contournement a été réalisée en raison de la position plus stricte de TikTok sur l'authentification par un navigateur contrôlé par Selenium.

Votre sessionid est tout ce qui est nécessaire pour l'authentification et peut être passé en argument à presque n'importe quelle fonction

🍪 Obtenez cookies.txt facilite l'obtention des cookies dans un format de cookies NetScape.

Après l'installation, ouvrez le menu d'extensions sur TikTok.com et cliquez sur 🍪 Obtenez cookies.txt pour révéler vos cookies. Sélectionnez Export As ⇩ et spécifiez un emplacement et un nom pour sauvegarder.

En option, cookies_list est une liste de dictionnaires avec les clés name, value, domain, path et expiry qui vous permettent de passer vos propres cookies de navigateur.

Exemple:

cookies_list = [
    {
        'name': 'sessionid',
        'value': '**votre id de session**',
        'domain': 'https://tiktok.com',
        'path': '/',
        'expiry': '10/8/2023, 12:18:58 PM'
    }
]

upload_video(..., cookies_list=cookies_list)

👀 Sélection du navigateur

Google Chrome est le navigateur préféré pour TikTokUploader. Les techniques anti-détection par défaut utilisées dans ce package sont optimisées pour cela. Cependant, si vous souhaitez utiliser un autre navigateur, vous pouvez spécifier le navigateur dans upload_video ou upload_videos.

from tiktok_uploader.upload import upload_video

from random import choice

BROWSERS = [
    'chrome',
    'safari',
    'chromium',
    'edge',
    'firefox'
]

# choisit au hasard un navigateur web
upload_video(..., browser=choice(BROWSERS))

✅ Navigateurs pris en charge:

  • Chrome (Recommandé)
  • Safari
  • Chromium
  • Edge
  • FireFox

🚲 Options personnalisées du WebDriver

Des modifications par défaut à Selenium sont appliquées qui l'aident à éviter d'être détecté par TikTok.

Cependant, vous pouvez passer des options de configuration de pilote personnalisées. Il suffit de passer options comme argument clé à upload_video ou upload_videos.

from selenium.webdriver.chrome.options import Options

options = Options()

options.add_argument('start-maximized')

upload_videos(..., options=options)

Note: Assurez-vous d'utiliser les bonnes options selenium pour votre navigateur

🤯 Navigateurs en mode sans tête

La navigation sans tête ne fonctionne que sur Chrome. Lors de l'utilisation de Chrome, l'ajout du flag --headless en utilisant la CLI ou en passant headless comme argument clé à upload_video ou upload_videos est tout ce qui est nécessaire.

upload_video(..., headless=True)
upload_videos(..., headless=True)

🔨 Configuration initiale

WebDriverManager est utilisé pour gérer les versions des pilotes.

Au démarrage initial, il se peut que l'on vous demande d'installer le pilote correct pour votre navigateur sélectionné. Cependant, pour Chrome et Edge, le pilote est automatiquement installé.

♻ Exemples

📝 Remarques

Ce bot n'est pas infaillible. Bien que je n'aie pas eu de bannissement officiel, la vidéo échouera à être téléchargée après trop de téléchargements. Dans les tests, attendre plusieurs heures a été suffisant pour résoudre ce problème. Pour cette raison, veuillez penser à cela davantage comme un téléchargeur programmé pour les vidéos TikTok, plutôt que comme un bot de spam.

Comptes créés avec

  • @C_Span - Une chaîne à écran partagé avec des jeux mobiles en dessous mettant en vedette des clips de la chaîne YouTube C-Span
  • @habit_track - Un bot Reddit pour voir quel SubReddit est le plus viral sur TikTok

Si vous aimez ce projet, veuillez le ⭐ sur GitHub pour montrer votre soutien! ❤️

Footnotes

  1. Si vous êtes intéressé par Hatch, consultez le site web