Not so long ago, YouTube decided that it is a very smart idea to not let videos on a specific channel be sorted by date from old to new, because everyone should consume only fresh content, and the author's old works are not so important. Thus, YouTube will once again proves the fears about what this platform is turning into. But despite this, there are a lot of creators on YouTube who enthusiastically talk about the things they are a part of, share information and even teach. So sometimes it is very important for me to have access to the channel videos in chronological order. Unfortunately, there are no solutions on YouTube itself anymore, so I had to figure out some by myself.
I am using Python at work a lot. Mostly to automate routines. So I did some experiment and I got it out of control a bit. So now this is a finished solution... kind of.
1. I am not using YouTube API because I hate all this proprietary staff and solving problem with tools that familiar for me more or less.
2. This tool is free and only purpose I am sharing it - enthusiasm to help someone in the pretty specific situation most people do not even care about.
3. I do not exclude situation that after some time the solution will stop working. Modern development methods require modification of something that already works well until it falls apart. And YuoTube follows trends in it. This is the pain all developers suppose to leave with. I will try to update it time to time. Maybe even add some new features. But also I will add code source to someone who want to modify it.
4. In this version of topic I am not going to explain code anymore... only concept.
0. All this made with Python and useful libraries for it.
1. Selenium using Chrome driver to open YouTube channel video section.
2. Emulating keyboard controls to skip to the end of the page until all video tiles will be exposed.
3. Parsing video tiles with JavaScript to get videos names and links.
4. Forming this data in to the list and writing this list to .json format.
5. GUI created with Flet allows to get access to this lists and by selecting list you are getting access to the videos from this list in chronological order from old to new.
6. By clicking on the video button system default browser opens link to this video.
1. Right after launch app.exe it will check if there are folder called "driver" in the same location. If no it will create one. In case you need specific Chrome driver to be used, you can put it in there. You can download latest versions of the Chrome Driver here.
2. Right after launch app.exe it will check if there are folder called "storage" in the same location. If no it will create one. In this folder app will store .json lists with videos so you can manage them directly from the file system.
So here is the compiled .exe file.
And here is the source code of the app.
Created by TennojiM
All rights reserved
© 2024