Skip to content

Latest commit

 

History

History
290 lines (201 loc) · 11.5 KB

README.es.md

File metadata and controls

290 lines (201 loc) · 11.5 KB

video funcionando

⬆️ Cargador de TikTok

Un cargador de vídeos de TikTok automatizado basado en Selenium

Inglés · Chino (simplificado) · Francés · Español · Alemán

➡️ Echa un vistazo a tranzlate en GitHub una herramienta para traducir texto usando ChatGPT

Forks Estrellas Observadores

Tabla de Contenidos

Instalación

Un requisito previo para utilizar este programa es la instalación de un navegador web compatible con Selenium. Se recomienda Google Chrome.

MacOS, Windows y Linux

Instale Python 3 o una versión superior desde python.org

Descarga desde PyPI (Recomendado)

Instale tiktok-uploader usando pip

pip install tiktok-uploader

Compilación desde el código fuente

La instalación desde el código fuente permite una mayor flexibilidad para modificar el código del módulo y ampliar el comportamiento predeterminado.

Primero, clone y entre en el repositorio. A continuación, instale hatch, la herramienta de construcción utilizada para este proyecto 1. Luego, construya el proyecto. Finalmente, instale el proyecto con el flag "-e" o editable.

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

Uso

tiktok-uploader funciona duplicando las cookies de su navegador, lo que engaña a TikTok haciéndole creer que has iniciado sesión en un navegador controlado de forma remota.

💻 Interfaz de línea de comandos (CLI)

El uso de la CLI es tan sencillo como llamar a tiktok-uploader con la ruta de tus vídeos (-v), la descripción(-d) y las cookies (-c)

tiktok-uploader -v video.mp4 -d "este es mi \"descripción\" escapada" -c cookies.txt
from tiktok_uploader.upload import upload_video, upload_videos
from tiktok_uploader.auth import AuthBackend

# video individual
upload_video('video.mp4',
            description='esta es mi descripción',
            cookies='cookies.txt')

# Varios vídeos
videos = [
    {
        'path': 'video.mp4',
        'description': 'esta es mi descripción'
    },
    {
        'path': 'video2.mp4',
        'description': 'esta es también mi descripción'
    }
]

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

⬆ Carga de vídeos

Esta biblioteca gira en torno a la función upload_videos que toma una lista de vídeos que tienen nombres de archivo y descripciones y se pasan de la siguiente manera:

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

videos = [
    {
        'video': 'video0.mp4',
        'description': 'El vídeo 1 trata sobre ...'
    },
    {
        'video': 'video1.mp4',
        'description': 'El vídeo 2 trata sobre ...'
    }
]

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

for video in failed_videos: # cada objeto de vídeo de entrada que falló
    print(f'{video['video']} con descripción "{video['description']}" falló')

🫵 Menciones y Hashtags

Las menciones y los hashtags ahora funcionan siempre que estén seguidos por un espacio. Sin embargo, usted como usuario es responsable de verificar si una mención o hashtag existe antes de publicar

Ejemplo:

from tiktok_uploader.upload import upload_video

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

🪡 Hilo, duetos y comentarios

Para establecer si un vídeo cargado permite hilos, comentarios o duetos, simplemente especifique comment, stitch y/o duet como argumentos de palabras clave para upload_video o upload_videos.

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

Los comentarios, hilos, y duetos están permitidos por defecto

🌐 Proxy

Para establecer un proxy, actualmente sólo funciona con chrome como navegador, permite autenticación de usuario:pase.

# proxy = {'user': 'miusuario', 'pass': 'micontra', 'host': '111.111.111', 'port': '99'}  # usuario:contraseña
proxy = {'host': '111.111.111', 'port': '99'}
upload_video(..., proxy=proxy)

📆 Programar

La fecha y la hora programadas para el vídeo se tratarán con la zona horaria UTC.
La fecha y hora programadas deben estar al menos a 20 minutos en el futuro y un máximo de 10 días.

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

🔐 Autenticación

La autenticación utiliza las cookies de su navegador. Este procedimiento se realizó debido a la postura más estricta de TikTok sobre la autenticación mediante un navegador controlado por Selenium.

Su sessionid es todo lo que se requiere para la autenticación y puede pasarse como argumento a casi cualquier función

🍪 Obtenga cookies.txt facilita la obtención de cookies en un formato NetScape cookies format.

Después de la instalación, abra el menú de extensiones en TikTok.com y haga clic en 🍪 Get cookies.txt para revelar sus cookies. Seleccione Exportar como ⇩ y especifique una ubicación y nombre para guardar.

Opcionalmente, cookies_list es una lista de diccionarios con las claves name, value, domain, path y expiry que le permiten pasar sus propias cookies del navegador.

Ejemplo:

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

upload_video(..., cookies_list=cookies_list)

👀 Selección de navegador

Google Chrome es el navegador preferido para TikTokUploader. Las técnicas predeterminadas de detección de anti-detección utilizadas en este paquete están optimizadas para esto. Sin embargo, si deseas utilizar un navegador diferente, puedes especificar el navegador en upload_video o upload_videos.

from tiktok_uploader.upload import upload_video

from random import choice

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

# selecciona un navegador web al azar
upload_video(..., browser=choice(NAVEGADORES))

✅ Navegadores admitidos:

  • Chrome (Recomendado)
  • Safari
  • Chromium
  • Edge
  • FireFox

🚲 Opciones personalizadas de WebDriver

Se aplican modificaciones predeterminadas a Selenium que ayudan a evitar que sea detectado por TikTok.

Sin embargo, puedes pasar una configuración de controlador personalizada. Simplemente pasa options como un argumento de palabras clave para upload_video o upload_videos.

from selenium.webdriver.chrome.options import Options

options = Options()

options.add_argument('start-maximized')

upload_videos(..., options=options)

Nota: Asegúrate de usar las opciones correctas de selenium para tu navegador

🤯 Navegadores sin cabeza

La navegación sin cabeza sólo funciona en Chrome. Al usar Chrome, agregar la bandera --headless usando la CLI o pasando headless como un argumento de palabras clave a upload_video o upload_videos es todo lo que se requiere.

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

🔨 Configuración inicial

WebDriverManager se utiliza para administrar las versiones del controlador.

En el inicio inicial, puede que se te pida que instales el controlador adecuado para tu navegador seleccionado. Sin embargo, para Chrome y Edge se instala automáticamente el controlador.

♻ Ejemplos

📝 Notas

Este bot no es infalible. Aunque no he recibido una prohibición oficial, el vídeo no se cargará después de demasiadas cargas. En las pruebas, esperar varias horas fue suficiente para solucionar este problema. Por esta razón, por favor piensa en esto más como un cargador programado para vídeos de TikTok, en lugar de un bot de spam.

Cuentas creadas con

  • @C_Span - Un canal de pantalla dividida con juegos móviles abajo que presenta clips del canal de YouTube de C-Span
  • @habit_track - Un bot de Reddit para ver qué SubReddit es más viral en TikTok

Si te gusta este proyecto, por favor ⭐ en GitHub para mostrar tu apoyo! ❤️

Footnotes

  1. Si te interesa Hatch, visita el sitio web