tube-get
PyMiniRacer
tube-get | PyMiniRacer | |
---|---|---|
1 | 4 | |
7 | 695 | |
- | 0.4% | |
10.0 | 3.7 | |
over 1 year ago | 13 days ago | |
Python | Python | |
- | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tube-get
-
YouTube-dl has a JavaScript interpreter written in 870 lines of Python
To understand why, I have a far simpler tool that focuses on a subset of sites (adult content video aggregators)
https://github.com/kristopolous/tube-get
It too deals with this problem but does so in a way that'd be easy to maliciously sabotage
Look right about here https://github.com/kristopolous/tube-get/blob/master/tube-ge...
Add to why this exists, this was originally written between about 2010-2015 or so so it technically predates the yt-* ecosystem.
The tool still works fine and it's not a strict subset of yt-dlp or YouTube-dl because being a different approach, although it's overall site coverage is smaller, I've had it be a "second try" system when yt-* fails and it comes up with success maybe about half the time
PyMiniRacer
-
YouTube-dl has a JavaScript interpreter written in 870 lines of Python
Embedding V8 can work quite well: https://github.com/sqreen/PyMiniRacer
You probably have to emulate some of the DOM, but you can interact directly with whatever obfuscated/packed scripts in a more lightweight and secure way than driving an entire browser.
-
connecting languages
First learn what forms computer code can be in. Source code combine js and python or to combine c and C++ object code with a linker or at runtime if you want to shell out and run from the prompt
-
Web Browser Engineering
If you want battle-hardened, I figure you can't do better than V8. Here's a Python wrapper that I've poked at a bit (it's not quite 100% feature-complete but it seems to essentially work): https://github.com/sqreen/PyMiniRacer
What are some alternatives?
mini_racer - Minimal embedded v8
quickjs - Thin Python wrapper of https://bellard.org/quickjs/
pyduktape - Embed the Duktape JS interpreter in Python
dukpy - Simple JavaScript interpreter for Python
Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint
nitter - Alternative Twitter front-end
libv8-node - Package libv8 from Node
InsideReCaptcha - Reverse-engineering the new “captchaless” ReCaptcha system...