YouTubeFisher BETA is done..

After a long time (I won’t go into how miserable I am because of where I live :'( ) I have programmed something small again. Well, not entirely me, this is a mash-up of programs by 3 people:

  • The person who made the GUI you see, I only modified it
  • Another program could only download one video at a time, but it could actually download, which the first program couldn’t
  • My own code

So what can the program actually do: It can download in 5 ways in total, namely:

  1. Searching via the YouTube API for a given phrase, up to 999 videos; then downloading the selected ones
  2. Searching via the YouTube API for a given phrase, up to 999 videos; then downloading all of them
  3. Parsing the source code of the search results with no limit on the number; then downloading the selected ones
  4. Parsing the source code of the search results with no limit on the number; then downloading all of them
  5. Loading videos into the clipboard and downloading them directly from supported servers (currently only YouTube)

I will probably add these download modes as well:

  1. An option to turn on clipboard monitoring, so that addresses of YT videos are loaded from the clipboard and inserted into the program; downloading will probably start only after the user confirms they have finished inserting, but there may be another option too
  2. Entering addresses into the program’s TextBox manually
  3. Deep automatic search – that is, you enter the address of the first search: and set how far it should parse further, so only the number at the end changes. The problem is that I didn’t manage to implement any browser or engine (Trident, Gecko, WebKit), and without logging in or other personalization it doesn’t show such good results; if I manage to solve this, I will definitely implement it
  4. Gradually adding newly parsed results – this is a replacement for point 4) until I manage to solve it..

By default the program downloads in format MP4. If MP4 HD 720 is available, it downloads in that; if not, it tries MP4 480, and if that isn’t available either, it downloads in FLV 240 – which all videos should have available.

The plan is also to detect whether the file/video has already been downloaded. For that I will have to write my own media library. It took me quite a long time (almost 5 days) to write this. First I tried those WebBrowser controls, which I didn’t get working, then the XmlDocument class didn’t work for me. I wanted to load the XML into it in a loop and fix whatever error it threw each time. The thing is, the HTML code of YT isn’t entirely valid.

But then it started throwing completely nonsensical errors, so I gave up on it and today I finished writing an XmlParser that fixed those errors for me and told me about all the tags that were in it. I would also like to teach the program to download favorites playlists and other playlists (there may be some API for other playlists, I don’t know about favorites). I wanted to write more here, but my memory really isn’t serving me anymore.. :'(


Download_source_yt


Download_ytf_from_list


Crazy_search_yt_api

👻 404: the website went for a hike and never came back.

Categories

Leave a Reply