Code I use to automatically update my videos' metadata on YouTube

Overview

mCodingYouTube

This repository contains the code I use to automatically update my videos' metadata on YouTube, including: titles, descriptions, tags, etc.

mCoding YouTube channel

The code in this repository is MIT licensed, see the file named LICENSE.

Disclaimer

The code is for educational purposes, not production use. Do not run any code that you do not understand. I am not responsible if you end up deleting or otherwise irreparably damaging your YouTube account, or getting banned from YouTube/Google services by using/misusing this code.

If you do decide to play with the code, I recommend using a dummy YouTube account so that you don't put your real account in danger. Pay close attention to the amount of quota that you use in order to avoid YouTube/Google thinking you are abusing their API.

I do not condone using or modifying the code in this API to do anything that violates YouTube/Google terms of service or any applicable laws.

Official code and docs from Google/YouTube

If you would like an official set of samples for how to use the YouTube Data API in Python, see https://github.com/youtube/api-samples/tree/master/python.

The official YouTube Data API documentation (not language specific) can be found at: https://developers.google.com/youtube/v3/docs.

Trying to follow my YouTube video?

Video: I Used the YouTube API to Update My Video Descriptions

Install dependencies (execute this from the directory containing requirements.txt):

pip install -r requirements.txt

Here are the important files:

  • app_config.py: In order to avoid publishing my secret client data, I use this config to read a non-uploaded file containing the location of my secret file. If you want to modify the code to work for yourself, you can hard-code the location of your client secret file here, or use dotenv like I did.

  • youtube.py: Contains the code to make an authenticated YouTube service object. You shouldn't need to change anything in this file.

  • download_single_video_data.py: Script to download the snippet metadata to a file for a video with known video id. I recommend making a data directory and putting all your downloaded data there to avoid clutter.

  • download_my_uploads.py: Script to download the playlist item snippets for all your uploads and save each page of results to a file.

  • update_description_on_youtube.py: Functions for updating a single video description.

  • simple_prepend_to_descriptions.py: Script to load data saved using download_my_uploads.py and prepend text read from a file to all your uploaded videos by using functions from update_description_on_youtube.py in a loop.

You might also like...
Transfer style api - An API to use with Tranfer Style App, where you can use two image and transfer the style

Transfer Style API It's an API to use with Tranfer Style App, where you can use

Automatically Build Multiple ML Models with a Single Line of Code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.
Automatically Build Multiple ML Models with a Single Line of Code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.

Auto-ViML Automatically Build Variant Interpretable ML models fast! Auto_ViML is pronounced "auto vimal" (autovimal logo created by Sanket Ghanmare) N

This program automatically runs Python code copied in clipboard
This program automatically runs Python code copied in clipboard

CopyRun This program runs Python code which is copied in clipboard WARNING!! USE AT YOUR OWN RISK! NO GUARANTIES IF ANYTHING GETS BROKEN. DO NOT COPY

Code to use Augmented Shapiro Wilks Stopping, as well as code for the paper "Statistically Signifigant Stopping of Neural Network Training"

This codebase is being actively maintained, please create and issue if you have issues using it Basics All data files are included under losses and ea

EasyMocap is an open-source toolbox for markerless human motion capture from RGB videos.
EasyMocap is an open-source toolbox for markerless human motion capture from RGB videos.

EasyMocap is an open-source toolbox for markerless human motion capture from RGB videos. In this project, we provide the basic code for fitt

dataset for ECCV 2020 "Motion Capture from Internet Videos"

Motion Capture from Internet Videos Motion Capture from Internet Videos Junting Dong*, Qing Shuai*, Yuanqing Zhang, Xian Liu, Xiaowei Zhou, Hujun Bao

This is my codes that can visualize the psnr image in testing videos.
This is my codes that can visualize the psnr image in testing videos.

CVPR2018-Baseline-PSNRplot This is my codes that can visualize the psnr image in testing videos. Future Frame Prediction for Anomaly Detection – A New

Real-world Anomaly Detection in Surveillance Videos- pytorch Re-implementation

Real world Anomaly Detection in Surveillance Videos : Pytorch RE-Implementation This repository is a re-implementation of "Real-world Anomaly Detectio

[Open Source].  The improved version of AnimeGAN. Landscape photos/videos to anime
[Open Source]. The improved version of AnimeGAN. Landscape photos/videos to anime

[Open Source]. The improved version of AnimeGAN. Landscape photos/videos to anime

Comments
  • No module named 'mcoding_youtube'`

    No module named 'mcoding_youtube'`

    Hey, I watch the Youtube Video and trying to set it up for my own channel.

    I start having problems with running the download_single_video_data.py file. By running the python file I get following error:

    ModuleNotFoundError: No module named 'mcoding_youtube'

    What is the problem here and how can I fix that?

    opened by RapahelS 1
Owner
James Murphy
I'm James Murphy, founder of mCoding. I'm interested in helping as many people learn about programming and math as possible.
James Murphy
🎓Automatically Update CV Papers Daily using Github Actions (Update at 12:00 UTC Every Day)

??Automatically Update CV Papers Daily using Github Actions (Update at 12:00 UTC Every Day)

Realcat 270 Jan 7, 2023
A script helps the user to update Linux and Mac systems through the terminal

Description This script helps the user to update Linux and Mac systems through the terminal. All the user has to install some requirements and then ru

Roxcoder 2 Jan 23, 2022
Hierarchical Metadata-Aware Document Categorization under Weak Supervision (WSDM'21)

Hierarchical Metadata-Aware Document Categorization under Weak Supervision This project provides a weakly supervised framework for hierarchical metada

Yu Zhang 53 Sep 17, 2022
Tooling for converting STAC metadata to ODC data model

Tooling for converting STAC metadata to ODC data model.

Open Data Cube 65 Dec 20, 2022
Bib-parser - Convenient script to parse .bib files with the ACM Digital Library like metadata

Bib Parser Convenient script to parse .bib files with the ACM Digital Library li

Mehtab Iqbal (Shahan) 1 Jan 26, 2022
Google-drive-to-sqlite - Create a SQLite database containing metadata from Google Drive

google-drive-to-sqlite Create a SQLite database containing metadata from Google

Simon Willison 140 Dec 4, 2022
Official code of paper "PGT: A Progressive Method for Training Models on Long Videos" on CVPR2021

PGT Code for paper PGT: A Progressive Method for Training Models on Long Videos. Install Run pip install -r requirements.txt. Run python setup.py buil

Bo Pang 27 Mar 30, 2022
this is a lite easy to use virtual keyboard project for anyone to use

virtual_Keyboard this is a lite easy to use virtual keyboard project for anyone to use motivation I made this for this year's recruitment for RobEn AA

Mohamed Emad 3 Oct 23, 2021
A collection of easy-to-use, ready-to-use, interesting deep neural network models

Interesting and reproducible research works should be conserved. This repository wraps a collection of deep neural network models into a simple and un

Aria Ghora Prabono 16 Jun 16, 2022
Use MATLAB to simulate the signal and extract features. Use PyTorch to build and train deep network to do spectrum sensing.

Deep-Learning-based-Spectrum-Sensing Use MATLAB to simulate the signal and extract features. Use PyTorch to build and train deep network to do spectru

null 10 Dec 14, 2022