This project is deprecated. Please look at https://github.com/code-yeongyu/twitter_video_tools_v2
- A multi-processing supported video downloader
- supports downloading videos from twitter (or specific user from twitter) && monsnode.
pip install twitter-video-tools
poetry add twitter-video-tools
python3 -m twitter_video_tools [link]
Supported link types:
- Video tweet: https://twitter.com/twtvtOfficial/status/1599748329927499777
- Video from monsnode: https://monsnode.com/v1506575871309589251
- Specific user's uploaded videos: https://twitter.com/twtvtOfficial/media
- Specific user's liked videos: https://twitter.com/twtvtOfficial/likes
from twitter_video_tools import TwitterVideoTools
with TwitterVideoTools() as twitter_video_tools:
twitter_video_tools.download_from_user('twtvtOfficial')
- Python 3.9
- poetry
- code editor (vscode recommended)
-
Local
-
GitHub Actions
gh repo clone code-yeongyu/twitter_video_tools
python3 -m pip install poetry
poetry install # install dependencies
code --install-extension emeraldwalk.RunOnSave # to force single quote
code --install-extension tamasfe.even-better-toml # for handling toml
Done!
poetry shell
inv test
- Inspired me to start this project. yt-dlp is a fork project of youtube-dl.
- Since the cookie option of yt-dlp's twitter extractor is not working, I decided to make my own project, using browser automation.
- Microsoft's browser automation module.
- Another major project to made me to start this project. I made up my mind to make TwitterVideoTools to experience playwright.
- It would be so painful to imagine making this project with selenium, but I enjoyed a lot while writing the twitter crawler part thanks to playwright.
- Ever since I started this project, I always wanted to support CLI with typer's awesome development experience.
- TwitterVideoTools' CLI is written with typer, and it is so beautiful and easy to use at the same time.
pyright & mypy & monkeytype
- These three tools helped me to write fully-typed python code.
- I won't start my python project without these tools.
- I made this template to make my python project development experience better.
- Safe & Convient development environment
- Strict type checking
- Amazing linters & formatters
- Unit test supported
- Safe & Convient development environment
- This project is also based on this template.