Skip to main content

there is a GUI demo you can just use that

https://github.com/wanghaisheng/autovideo

This project aims to automate the upload process for YouTube Videos. Since videos can only be publicly uploaded through the YouTube Data API by using a Google Workspaces Account (not free!), I decided to figure out a headless uploader using Selenium. This approach also bypasses API restrictions (e.g. Rate Limits/Endcards can't be set through the API).There are tons of library existing but not for me .

AS a code dummy,I do accept any advice because of my only purpose is to get things work

if you are a selenium guy,pls check main branch,if not just use this playwright branch.

rewrite it with microsoft playwright

1.speed is much faster than selenium version

2.you dont have to worry browser driver any more

3.more like category setting,auto publish date,subtitle upload etc are considered

steps you can reproduce

if anything you dont understand ,just google it first,for example firefox profile

  1. Download lastest firefox,open new tab and insert:
about:profiles

一般来说 一个youtube帐号要新建一个profile 文件夹可以选在assets下

2.install firefox addon, Cookie-Editor,mannually login into youtube channel,click profile icon, choose english language,export a cookie.json

  1. if you want to modify source code, use as a library for your project,pls do

git clone https://github.com/wanghaisheng/ytb_up
pip install -r requirements.txt

all codes under **ytb_up**, twist them as you wish

  1. if you are dumb as me, wanna a try,run demo project
git clone https://github.com/wanghaisheng/autovideo

conda create -n autovideo python=3.9
conda activate autovideo

pip install -r requirements.txt

python auto_video.py

woola you can see a ugly gui for your demo purpose

  1. use existing without modification as a lib
pip install ytb-up

features YOU MAY NEED

1. proxy support

auto detect whether need a proxy

2. cookie support

for those multiple channels under same google account

3. schedule time publish

you can explictly specify a date and time for each video or you can set publish policy and daily public count,for example,daily count is 4,you got 5 videos,then first 4 will be published 1 day after the upload date ,the other 1 will be 2 days after the upload date

4. fix google account verify

5. seleniumwire

THANKS FOR

  1. https://github.com/ContentAutomation/YouTubeUploader
  2. https://github.com/offish/opplast
  3. other I CAN NOT REMEMBER

配置文件说明 publishpolicy:1 表示上传以后立即公开 0 表示上传以后保持私享 2表示结合每天发布数量和视频文件夹中的数量 从上传当日起开始定时公开

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytb-up-0.1.10.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytb_up-0.1.10-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file ytb-up-0.1.10.tar.gz.

File metadata

  • Download URL: ytb-up-0.1.10.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.5

File hashes

Hashes for ytb-up-0.1.10.tar.gz
Algorithm Hash digest
SHA256 f19f5e4661c93298f1e9e930b4bdc2f2ace8bbb45fcf64e7e33fdfe32a1a6999
MD5 5ed90c1d5c4d84a9e41bc65840cb2be2
BLAKE2b-256 aaca2089a902b1534b77b7b700b231e3371d92bbf98c819d0e1c25f8fe29e762

See more details on using hashes here.

File details

Details for the file ytb_up-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: ytb_up-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.5

File hashes

Hashes for ytb_up-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a4000cdc80ed8f618b59c4544299880af9a9783051bf96873ba85d76d4a0f7d7
MD5 e96f630247b1c8cf173c18384d6d3fe3
BLAKE2b-256 ec61380c8cbd134b4b95b60d89f850dae88dcb1383d5c28e19fa78ecf00e67d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page