Jump to content
LaunchBox Community Forums

Youtube Scraper 0.1.9

   (6 reviews)

2 Screenshots

About This File

Simple Plugin to automate download videos from youtube.

 

Requirements: Launchbox 8.2+

Install: Extract the content of zip file to : Launchbox/plugins/YoutubeScraper

Source codeGithub (feel free to make a pull request )

EDIT

If you have trouble running the plugin and crashing due CAS error, please right click on the DLL's , properties and then unblock.

 

unblock.thumb.png.a607d0dfe4f8965625bc1da050b59e0d.png

 

There's two options:

URL Scraper: Just paste entire youtube URL from the desired video

1CuJ5BzV8J.thumb.gif.60a9b4e28418c589d046deed337227a7.gif

 

One-click downloader: It will search automatically and download the first entry from youtube. Bulk Download supported!

 

64prJ3fhsv.thumb.gif.0de5d3e8b3b00ade12a5a5f1f889a38a.gif


What's New in Version 0.1.9   See changelog

Released

Update:

A year has passed since I updated this thing, a lot of stuff has changed on the youtube framework side, please I did this in 5min and barely tested, let me see how it goes.

 

Sorry for the time that I could update this but Im really really busy at work :(

 

NOTE: REMOVE ALL FILES OF YOUR YOUTUBE PLUGIN FOLDER BEFORE COPYING THIS OVER.

 

 

  • Like 11
  • Thanks 3
  • Unusual Gem 1

User Feedback

Recommended Comments



OMG yes! I can't wait to test this out at home. I'm on 7.9, so I believe I should be able to use this.

 

EDIT Remoted into my computer from work to test this out, then realized that it's the 7.1 beta this works on, while I'm on the public release. I feel derpy now :-P

Edited by Pyrometheous
Link to comment
Share on other sites

I tried it and got this error:


"An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

App:     LaunchBox
Version: 7.10-beta-6
Type:    System.NotSupportedException
Site:    
Source:  


(Outer Exception)

Could not load file or assembly 'YoutubeExplode, Version=3.0.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

App:     LaunchBox
Version: 7.10-beta-6
Type:    System.IO.FileLoadException
Site:    System.Reflection.RuntimeAssembly _nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
Source:  mscorlib

   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at (String )
   at Unbroken.LaunchBox.Root.LoadPlugins(String folderPath)
   at (String[] )
   at Unbroken.LaunchBox.Desktop.Program.Main(String[] args)

Recent Log:

   11:37:44 PM Exception"

Link to comment
Share on other sites

19 hours ago, Detran said:

I tried it and got this error:


"An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

App:     LaunchBox
Version: 7.10-beta-6
Type:    System.NotSupportedException
Site:    
Source:  


(Outer Exception)

Could not load file or assembly 'YoutubeExplode, Version=3.0.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

App:     LaunchBox
Version: 7.10-beta-6
Type:    System.IO.FileLoadException
Site:    System.Reflection.RuntimeAssembly _nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
Source:  mscorlib

   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at (String )
   at Unbroken.LaunchBox.Root.LoadPlugins(String folderPath)
   at (String[] )
   at Unbroken.LaunchBox.Desktop.Program.Main(String[] args)

Recent Log:

   11:37:44 PM Exception"

Same Problem here. Running the latest Beta.

Im looking forward to this wonderful world of plugins :D

 

EDIT:

After unblocking the .dll files everything runs fine now.

Great Job by the way :x

Edited by deoxyssp
Link to comment
Share on other sites

Did you guys check the plugin file properties to make sure you don't have to click the Unblock button on the file property window? The main description describes how to do that.

Link to comment
Share on other sites

Thanks, works for me with no issues.

 

PS:There are channels on the You tube that have snap videos of a few seconds for Hyperspin, such as Arcade Punks, Arcade Forever and others. Can not edit the url for these channels using a one-click download?

Edited by pxrmetal
Link to comment
Share on other sites

2 hours ago, pxrmetal said:

Thanks, works for me with no issues.

 

PS:There are channels on the You tube that have snap videos of a few seconds for Hyperspin, such as Arcade Punks, Arcade Forever and others. Can not edit the url for these channels using a one-click download?

Unfortunately if you need specific videos you need to use the URL option! The Oneclick it's kinda of random lucky lol!

Link to comment
Share on other sites

I just have to say that this is the best possible use right now for a plugin.  It's really, really good at getting videos for my random PC games.  Haven't had luck with batch mode, though.  Otherwise this works 100% and THANK YOU!!!

Link to comment
Share on other sites

On 5/30/2017 at 11:52 AM, wirtual82 said:

It used to work. Now I paste an url and nothing happens. Does this accept other paths than default ones? Because other platforms with default paths seem to work. 

Yes, it does download to a default folder, not the one you set yourself. That's why the videos didn't play in LB. 

No support yet, didnt had time to update it :( sorry

Link to comment
Share on other sites

it would be great if the plugin could limit the maximum size of the video download for the automatic option (not the option where you paste in a url). like it should ignore videos over a certain size if possible.

  • Like 1
Link to comment
Share on other sites

18 hours ago, pxrmetal said:

R.I.P Youtube Scraper

UPDATED TO WORK WITH 8.2!!!!

Enjoy :)

 

Note that my premium account from launchbox is expired, Not sure if I will continue to work on this.

Link to comment
Share on other sites

1 hour ago, wirtual82 said:

Great thanks! It is working.

BTW, the plugin should take a platform into account when it searches for a title. For instance, it should search for:

Mario Bros  C64

Silent Hill 2 Playstation 2

etc.

It will narrow the search results and give us more precise ones.

Also, we should be able to add/attach words to titles:

In case we want to search for a trailer or a gameplay, adding "trailer" "gameplay"  at the end of the title would again narrow down the search results greatly. 

Similarly to how "Image Search" plugin works.

Some sort of config file that we can add/edit keywords that will be added to titles or just choose them in the options.

 

Hi wirtual82, Yep, I already planned the config file plus a little gui to concatenate anything that user want for that specific search, regarding the platform I will see if I can get it from Launchbox, I do not mess with it since my license expired so may take a while to implement the new features

Link to comment
Share on other sites

You do know that just because you license expired it should work completely you just can't get any updates.

Link to comment
Share on other sites

1 hour ago, DOS76 said:

You do know that just because you license expired it should work completely you just can't get any updates.

Yes, that is correct, what I mean is I will not invest much more time on my arcade machine implicating time on the plugin as well.

Link to comment
Share on other sites

Thanks for this program I think its great, however I am getting an error when trying to select more than one game to scrape.

 

Object reference not set to an instance of an object.

App:     LaunchBox
Version: 8.2
Type:    System.NullReferenceException
Site:    Void button1_Click(System.Object, System.EventArgs)
Source:  YoutubeScraper

   at YoutubeScraper.Form3.button1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Recent Log:

   10:41:32 AM Music.Pause Start
   10:41:32 AM Music.Prepare Start
   10:41:32 AM Music.Kill Start
   10:41:32 AM Music.Kill Finished
   10:41:32 AM Music.NotifyTrackList Start
   10:41:32 AM Music.NotifyTrackList Invoke
   10:42:29 AM GameDetailsGui.RedrawDetails Start
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailRating
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailFileName
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailCustomFields
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailLastPlayed
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailNotes
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailDates
   10:42:29 AM GameDetailsGui.RedrawDetails End
   10:42:29 AM Music.Play Start
   10:42:29 AM Music.Kill Start
   10:42:29 AM Music.Kill Finished
   10:42:29 AM Music.Play Empty Music Path
   10:42:29 AM Music.NotifyTrackList Start
   10:42:29 AM Music.NotifyTrackList Invoke
   10:42:31 AM GameDetailsGui.RedrawDetails Start
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailRating
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailFileName
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailCustomFields
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailLastPlayed
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailNotes
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailDates
   10:42:31 AM GameDetailsGui.RedrawDetails End
   10:42:31 AM Music.Pause Start
   10:42:31 AM Music.Prepare Start
   10:42:31 AM Music.Kill Start
   10:42:31 AM Music.Kill Finished
   10:42:31 AM Music.NotifyTrackList Start
   10:42:31 AM Music.NotifyTrackList Invoke
   10:42:35 AM Exception

Link to comment
Share on other sites

6 hours ago, elements604 said:

Thanks for this program I think its great, however I am getting an error when trying to select more than one game to scrape.

 

Object reference not set to an instance of an object.

App:     LaunchBox
Version: 8.2
Type:    System.NullReferenceException
Site:    Void button1_Click(System.Object, System.EventArgs)
Source:  YoutubeScraper

   at YoutubeScraper.Form3.button1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Recent Log:

   10:41:32 AM Music.Pause Start
   10:41:32 AM Music.Prepare Start
   10:41:32 AM Music.Kill Start
   10:41:32 AM Music.Kill Finished
   10:41:32 AM Music.NotifyTrackList Start
   10:41:32 AM Music.NotifyTrackList Invoke
   10:42:29 AM GameDetailsGui.RedrawDetails Start
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailRating
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailFileName
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailCustomFields
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailLastPlayed
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailNotes
   10:42:29 AM GameDetailsGui.RedrawDetails Before ShowDetailDates
   10:42:29 AM GameDetailsGui.RedrawDetails End
   10:42:29 AM Music.Play Start
   10:42:29 AM Music.Kill Start
   10:42:29 AM Music.Kill Finished
   10:42:29 AM Music.Play Empty Music Path
   10:42:29 AM Music.NotifyTrackList Start
   10:42:29 AM Music.NotifyTrackList Invoke
   10:42:31 AM GameDetailsGui.RedrawDetails Start
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailRating
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailFileName
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailCustomFields
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailLastPlayed
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailNotes
   10:42:31 AM GameDetailsGui.RedrawDetails Before ShowDetailDates
   10:42:31 AM GameDetailsGui.RedrawDetails End
   10:42:31 AM Music.Pause Start
   10:42:31 AM Music.Prepare Start
   10:42:31 AM Music.Kill Start
   10:42:31 AM Music.Kill Finished
   10:42:31 AM Music.NotifyTrackList Start
   10:42:31 AM Music.NotifyTrackList Invoke
   10:42:35 AM Exception

Sorry,

 

Just fixed it, I deleted an important line by mistake and compiled, lol! Please test it again and let me know if its works.

Link to comment
Share on other sites

19 minutes ago, srxz said:

Sorry,

 

Just fixed it, I deleted an important line by mistake and compiled, lol! Please test it again and let me know if its works.

Its working now thanks : ) 

Link to comment
Share on other sites

Just incase you do decide to add more features, being able to cut the first 5 to 10 seconds off the video would be really helpful, as many videos from youtube have splash screens.

  • Like 1
Link to comment
Share on other sites

46 minutes ago, elements604 said:

Just incase you do decide to add more features, being able to cut the first 5 to 10 seconds off the video would be really helpful, as many videos from youtube have splash screens.

I'm not sure if re-encoding of videos is a good feature, plugins imho should kept simple, just image scrape N videos, plugin would have to download each one, save it to the drive, use ffmpeg to cut 10 secs of video(this will need to be variable for each video), re-encode the final version, delete the original, place it again to the original folder, and my plugin doesnt have any kinda of feedback to user, would be a nightmare.

 

If you wish to do it, just download ffmpeg and run this:

 

ffmpeg.exe -ss 10 -i aero.mp4 -vcodec copy -acodec copy aero2.mp4

where 10 is how many seconds from start

aero.mp4 < source video

aero2.mp4 > destination video

Link to comment
Share on other sites

5 hours ago, elements604 said:

Just incase you do decide to add more features, being able to cut the first 5 to 10 seconds off the video would be really helpful, as many videos from youtube have splash screens.

 

Link to comment
Share on other sites

4 hours ago, neil9000 said:

 

Great, I didnt knew this existed!! Basically the same command from my post above but in a script file :)

 

Link to comment
Share on other sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...