Ein Selenium-basierter automatisierter TikTok-Videouploader
Englisch · Chinesisch (vereinfacht) · Französisch · Spanisch · Deutsch
➡️ Schauen Sie sich tranzlate auf GitHub an, ein Tool zum Übersetzen von Text mit Hilfe von ChatGPT
Eine Voraussetzung zur Verwendung dieses Programms ist die Installation eines Selenium-kompatiblen Webbrowsers. Google Chrome wird empfohlen.
Installieren Sie Python 3 oder höher von python.org
Installieren Sie tiktok-uploader
mit pip
pip install tiktok-uploader
Die Installation aus der Quelle ermöglicht eine größere Flexibilität bei der Modifikation des Modulcodes, um das Standardverhalten zu erweitern.
Zuerst clonen
Sie und wechseln Sie in das Repository. Installieren Sie anschließend hatch
, das für dieses Projekt verwendete Build-Tool 1. Dann bauen
Sie das Projekt. Schließlich installieren
Sie das Projekt mit dem -e
oder dem editierbaren Flag.
git clone https://github.com/wkaisertexas/tiktok-uploader.git
cd tiktok-uploader
pip install hatch
hatch build
pip install -e .
tiktok-uploader
funktioniert, indem es die Cookies Ihres Browsers dupliziert, was TikTok dazu verleitet zu glauben, dass Sie in einem ferngesteuerten Browser eingeloggt sind.
Die Verwendung der CLI ist so einfach wie das Aufrufen von tiktok-uploader
mit Ihrem Video: Pfad
(-v), Beschreibung
(-d) und Cookies
(-c)
tiktok-uploader -v video.mp4 -d "das ist meine geschützte \"Beschreibung\"" -c cookies.txt
from tiktok_uploader.upload import upload_video, upload_videos
from tiktok_uploader.auth import AuthBackend
# Einzelvideo
upload_video('video.mp4',
description='das ist meine Beschreibung',
cookies='cookies.txt')
# Mehrere Videos
videos = [
{
'path': 'video.mp4',
'description': 'das ist meine Beschreibung'
},
{
'path': 'video2.mp4',
'description': 'das ist auch meine Beschreibung'
}
]
auth = AuthBackend(cookies='cookies.txt')
upload_videos(videos=videos, auth=auth)
Diese Bibliothek dreht sich um die Funktion upload_videos
, die eine Liste von Videos entgegennimmt, die Dateinamen und Beschreibungen haben und wie folgt übergeben werden:
from tiktok_uploader.upload import upload_videos
from tiktok_uploader.auth import AuthBackend
videos = [
{
'video': 'video0.mp4',
'description': 'Video 1 handelt von ...'
},
{
'video': 'video1.mp4',
'description': 'Video 2 handelt von ...'
}
]
auth = AuthBackend(cookies='cookies.txt')
failed_videos = upload_videos(videos=videos, auth=auth)
for video in failed_videos: # jedes eingabe video objekt, das fehlgeschlagen ist
print(f'{video['video']} mit der Beschreibung "{video['description']}" ist fehlgeschlagen')
Erwähnungen und Hashtags funktionieren jetzt, solange sie von einem Leerzeichen gefolgt werden. Sie als Benutzer sind jedoch dafür verantwortlich, zu überprüfen, ob eine Erwähnung oder ein Hashtag vorhanden ist, bevor Sie ihn posten
Beispiel:
from tiktok_uploader.upload import upload_video
upload_video('video.mp4', '#fyp @icespicee', 'cookies.txt')
Um festzulegen, ob ein hochgeladenes Video Stitches, Kommentare oder Duette zulässt, spezifizieren Sie einfach comment
, stitch
und/oder duet
als Schlüsselargumente für upload_video
oder upload_videos
.
upload_video(..., comment=True, stitch=True, duet=True)
Kommentare, Stiche und Duette werden standardmäßig erlaubt
Um einen Proxy einzustellen, der derzeit nur mit Chrome als Browser funktioniert, erlauben Sie die Benutzerauthentifizierung per User:Pass.
# proxy = {'user': 'meinBenutzer', 'pass': 'meinPass', 'host': '111.111.111', 'port': '99'} # Benutzer:Pass
proxy = {'host': '111.111.111', 'port': '99'}
upload_video(..., proxy=proxy)
Das Datum und die Uhrzeit der geplanten Videoveröffentlichung werden in der UTC-Zeitzone behandelt.
Das geplante Datum muss mindestens 20 Minuten in der Zukunft und maximal 10 Tage in der Zukunft liegen.
import datetime
schedule = datetime.datetime(2020, 12, 20, 13, 00)
upload_video(..., plan=schedule)
Die Authentifizierung verwendet die Cookies Ihres Browsers. Dieser Umweg wurde gemacht aufgrund der strengeren Einstellung von TikTok zur Authentifizierung durch einen von Selenium gesteuerten Browser.
Ihr sessionid
ist alles, was für die Authentifizierung benötigt wird und kann fast jeder Funktion als Argument übergeben werden
🍪 Get cookies.txt erleichtert das Erhalten von Cookies in einem NetScape-Cookies-Format.
Nach der Installation öffnen Sie das Erweiterungsmenü auf TikTok.com und klicken Sie auf 🍪 Get cookies.txt
, um Ihre Cookies zu sehen. Wählen Sie Export As ⇩
und legen Sie einen Speicherort und Namen zum Speichern fest.
Optional kann cookies_list
, eine Liste von Wörterbüchern mit den Schlüsseln name
, value
, domain
, path
und expiry
, verwendet werden, um Ihre eigenen Browser-Cookies zu übergeben.
Beispiel:
cookies_list = [
{
'name': 'sessionid',
'value': '**Ihre Sitzungs-ID**',
'domain': 'https://tiktok.com',
'path': '/',
'expiry': '10/8/2023, 12:18:58 PM'
}
]
upload_video(..., cookies_list=cookies_list)
Google Chrome ist der bevorzugte Browser für TikTokUploader. Die standardmäßig verwendeten Anti-Detection-Techniken in diesem Paket sind dafür optimiert. Wenn Sie jedoch einen anderen Browser verwenden möchten, können Sie den browser
in upload_video
oder upload_videos
spezifizieren.
from tiktok_uploader.upload import upload_video
from random import choice
BROWSER = [
'chrome',
'safari',
'chromium',
'edge',
'firefox'
]
# wählt zufällig einen Webbrowser
upload_video(..., browser=choice(BROWSER))
✅ Unterstützte Browser:
- Chrome (empfohlen)
- Safari
- Chromium
- Edge
- FireFox
Standardmäßige Modifikationen von Selenium werden angewendet, die helfen, dass es von TikTok nicht erkannt wird.
Sie können jedoch eine benutzerdefinierte Treiberkonfigurationsoptionen übergeben. Übergeben Sie dazu einfach Optionen
als Schlüsselargument an upload_video
oder upload_videos
.
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('start-maximized')
upload_videos(..., options=options)
Hinweis: Stellen Sie sicher, dass Sie die richtigen Selenium-Optionen für Ihren Browser verwenden
Kopfloses Browsen funktioniert nur in Chrome. Wenn Chrome verwendet wird, muss das --headless
-Flag mithilfe der CLI hinzugefügt oder headless
als Schlüsselargument an upload_video
oder upload_videos
übergeben werden.
upload_video(..., headless=True)
upload_videos(..., headless=True)
WebDriverManager wird zur Verwaltung von Treiber-Versionen verwendet.
Bei der ersten Inbetriebnahme kann Sie möglicherweise aufgefordert werden, den richtigen Treiber für Ihren ausgewählten Browser zu installieren. Allerdings wird für Chrome und Edge der Treiber automatisch installiert.
-
Grundlegendes Upload-Beispiel: Verwendet
upload_video
, um einen Beitrag zu machen. -
Mehrere Videos auf einmal: Lädt das gleiche Video mehrmals mit
upload_videos
hoch. -
Serien-Upload-Beispiel: Videos werden mit Hilfe von Pandas aus einer CSV-Datei gelesen. Ein Videoupload-Versuch wird gemacht und nur wenn er erfolgreich ist, wird das Video als hochgeladen markiert.
Dieser Bot ist nicht narrensicher. Obwohl ich noch kein offizielles Verbot erhalten habe, wird das Video nach zu vielen Uploads nicht hochgeladen. In Tests hat eine Wartezeit von mehreren Stunden dieses Problem behoben. Sehen Sie dies bitte mehr als einen geplanten Uploader für TikTok-Videos und nicht als einen Spam-Bot.
- @C_Span - Ein Split-Screen-Kanal mit mobilen Spielen unten mit Clips vom C-Span YouTube Kanal
- @habit_track - Ein Reddit-Bot, um zu sehen, welches SubReddit am viralsten auf TikTok ist
Wenn Ihnen dieses Projekt gefällt, dann ⭐ es auf GitHub, um Ihre Unterstützung zu zeigen! ❤️