iProgramm's Youtube Library 2012

    • Release

    Es gibt 33 Antworten in diesem Thema. Der letzte Beitrag () ist von Gather.

      iProgramm's Youtube Library 2012

      Da ich pure langweile hatte, und ich nicht wusste, was ich programmieren soll, kam ich auf einmal eine
      Youtube Video Library zu erstellen.
      Die Library kann Video Infos & Kanal Infos (Beta) herauslesen

      Beschreibung:
      Mit dieser Lib kann man folgende Sachen herauslesen :
      Video
      - Titel
      - Uploader
      - Likes (Integer)
      - Dislikes (Integer)
      - Kategorie
      - Upload Datum (Date)
      - Thumbnail (String)
      - Downloadlink (Uri)
      Kanal
      - Titel
      - Abonennten (Integer)
      - Letzte Aktivität (Date)
      - Kanal Logo (String)

      Die Lib wird jeden Monat mind. 1mal geupdatet. Die Updates kann man hier laden!

      Screenshot(s):

      Testprojekt : (alt)


      Klassendiagramm : (neu)


      Verwendete Programmiersprache und IDE:
      Visual Basic 2010

      Systemanforderungen:
      .NET Framework 2.0

      Download:
      YoutubeLibrary.dll (17 KB)


      Lizenz/Weitergabe:
      Namensnennug nicht nötig, wäre aber nett.

      Source Code
      Da ich heute (20.10) Geburtstag habe, schenke ich euch den Source Code der Version 1.0.
      YoutubeLibrary-source.7z (64 KB)

      Beispiel Code

      VB.NET-Quellcode

      1. Imports YoutubeLibrary
      2. Public Class Form1
      3. Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
      4. Dim vid As New Youtube.Video(TextBox1.Text)
      5. Label1.Text = vid.title
      6. End Sub
      7. Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
      8. Dim chn As New Youtube.Channel(TextBox2.Text)
      9. Label2.Text = chn.title
      10. End Sub
      11. End Class


      Ich bitte um nette Kritik.

      Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „iProgramm“ ()

      30kb freier Speicher auf C:\

      Aber doch hoffentlich nicht direkt auf C:\?
      „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

      -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

      Lukas schrieb:


      Aber doch hoffentlich nicht direkt auf C:\?

      Doch, da die dll die Youtube_Video_Info Datei, die dabei gebraucht wird den downloadlink auszulesen, auf C:\ speichert.
      Wird nach dem auslesen immer wieder gelöscht.
      Die Datei die sich 2-3sek auf C:\ befindet wird unter folgendem Namen gespeichert : "C:\Videoinf.txt"
      Und was wenn das ein Benutzer ohne Rechte versucht? Mach's unter AppData, da ist es besser aufgehoben.
      „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

      -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
      Schließe mich Myrax an.
      Eine instanzierbare Klasse erfordert für dich eig. nur die Arbeit, die ganzen Shared-Members zu entfernen.
      Somit wird aus

      VB.NET-Quellcode

      1. Label1.Text = YoutubeLibrary.Youtube.downloadlink
      das hier:

      VB.NET-Quellcode

      1. Dim yt As New Youtube
      2. Label1.Text = yt.downloadlink


      Am schönsten ist es noch, wenn du die Sub New überladest.
      Sind alles Grundlagen, lies dich mal rein.

      Dann könnte man sogar noch das so machen:

      VB.NET-Quellcode

      1. Dim yt As New Youtube("http://www.youtube.com/VIDEO")


      Die entsprechende Sub würde so aussehen:

      VB.NET-Quellcode

      1. Sub New(ByVal url As Uri)


      Und warum du nur auf Nachfrage den Code rausgibst ist mir auch unverständlich.
      Wenn schon, dann wohl eher so:

      VB.NET-Quellcode

      1. New Uri("http://www.youtube.com/VIDEO")
      „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

      -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
      Jep, beste Qualität.


      Damits dir auch was bringt:

      Quellcode

      1. System.Net.WebException wurde nicht behandelt.
      2. HResult=-2146233079
      3. Message=Ausnahmefehler während einer WebClient-Anforderung.
      4. Source=System
      5. StackTrace:
      6. bei System.Net.WebClient.DownloadFile(Uri address, String fileName)
      7. bei System.Net.WebClient.DownloadFile(String address, String fileName)
      8. bei YoutubeLibrary.Youtube.downloadlink()
      9. bei TestYT.Program.Main(String[] args) in c:\Users\AliveDevil\AppData\Local\Temporary Projects\TestYT\Program.cs:Zeile 12.
      10. bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
      11. bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      12. bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      13. bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      14. bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      15. bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      16. bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      17. bei System.Threading.ThreadHelper.ThreadStart()
      18. InnerException: System.ArgumentException
      19. HResult=-2147024809
      20. Message=Illegales Zeichen im Pfad.
      21. Source=mscorlib
      22. StackTrace:
      23. bei System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
      24. bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
      25. bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
      26. bei System.Net.WebClient.DownloadFile(Uri address, String fileName)
      27. InnerException:


      Ich wünsche viel Spaß beim Fehlerbeheben.

      Weiß zwar nicht, inwiefern es dir hilft, aber das meint mein Objektkatalog zu deiner DLL (und es ist kein Decompilen)
      @ julian2704 & @Lukas :
      Ok, werd ich machen.

      @AliveDevil
      Der Fehler ist nicht beim Programm.
      Sondern bei dir.
      Bei Youtube.Open("Das ist hier falsch") kommt nicht die URL hinein, sondern die ID (z.B. von youtube.com/watch?v=b8PKjQ0GKyo wird das nach dem v= gebraucht. Nicht die URL.)
      Ansonsten weiss ich nicht woran der Fehler liegt...


      Das mit dem Rustemsoft.Skater ist ein Obfuscator, damit niemand Code klauen kann. Was mir das bring weiss ich selber
      auch nicht....
      So am Rande, aber es wäre schöner, wenn du die ganzen Videodetails als Eigenschaft anbietest ;)
      „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

      -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
      @AliveDevil : Erledigt
      @Lukas : Erledigt
      @Myrax : Erledigt

      Die Version 1.0 ist da.
      Neue Sachen :
      instanzierbar
      Details = Eigenschaft
      Downloadlink gefixt.
      Kanal Infos herauslesen :
      Titel
      Logo
      Abonennten
      Letzte Aktivität (Datum)


      Downloadlink
      YoutubeLib 2012 (17KB)

      Beispiel Code

      VB.NET-Quellcode

      1. Imports YoutubeLibrary.Youtube
      2. Public Class Form1
      3. Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
      4. Dim vid As New Youtube.Video(TextBox1.Text)
      5. Label1.Text = vid.title
      6. End Sub
      7. Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
      8. Dim chn As New Youtube.Channel(TextBox2.Text)
      9. Label2.Text = chn.title
      10. End Sub
      11. End Class

      Source Code
      Da ich heute Geburtstag habe, stelle ich den Source Code für die Version 1.0 Gratis zum Download.
      Bitte nicht über mein Code Style lachen. Denn ich programmier (fast) immer so.
      YouTubeLibrary-SourceCode.zip (64 KB)
      Happy Birthday :3

      EDIT: Habe die neue Version mal gestestet, aber der sagt mir etwas von "FileNotFound". Liegt das an mir oder bin ich gerade einfach nur zu blöd? o.O

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Tim Lorens“ ()

      Ich habe die DLL importiert wie du es beschrieben hast. Dazu noch den Beispielcode. Dabei wird "Dim vid As New Youtube.Video(TextBox1.Text)" nicht erkannt. Um dies zu beheben habe ich "Imports YoutubeLibrary.Youtube" zu "Imports YoutubeLibrary" umbenannt. Dann habe ich Label1.Text zu vid.title geändert. Compiliert, den Button betätigt und dann kam dieser Fehler.