Hi,
ich versuche im moment ein paar YT-Suchresultate in einer Konsole anzuzeigen. Die URL's bekomme ich, jedoch habe ich ein paar schwierigkeiten, um den YT-Namen zu bekommen
Ich verwende einen Code aus dem Sourcecode-Austausch:
Das Ziel (eher später) wird es sein, alle YT-Suchresultate anzuzeigen und bei bedarf als .mp4 runterzuladen.
mfg
gfc
ich versuche im moment ein paar YT-Suchresultate in einer Konsole anzuzeigen. Die URL's bekomme ich, jedoch habe ich ein paar schwierigkeiten, um den YT-Namen zu bekommen
Ich verwende einen Code aus dem Sourcecode-Austausch:
VB.NET-Quellcode
- Imports System.Web
- Imports Google.GData.Client
- Imports Google.GData.Extensions
- Module Module1
- Sub Main()
- A: Console.WriteLine("Schreiben sie ihr Suchwort")
- Dim x As String = Console.ReadLine
- If x = Nothing Then GoTo A
- Dim zahl As Integer = 0
- Dim searchTerm As String = x.ToString 'enthält das Suchwort
- Dim searchUri As String = HttpUtility.UrlEncode(searchTerm) 'encodiert das Suchwort
- Dim url As String = "http://gdata.youtube.com/feeds/videos?q=" + searchUri 'das ist die Such-Url
- Dim query As FeedQuery = New FeedQuery("")
- Dim service As Service = New Service("sample", "sample") 'hier muss der Service und der Application-Name übergeben werde; hat jedoch keine Bedeutung
- query.Uri = New Uri(url)
- query.StartIndex = 0
- query.NumberToRetrieve = 5 'Anzahl der Resultate, 20 ist die maximale Anzahl pro Anfrage
- Dim resultfeed As AtomFeed = service.Query(query) 'hier wird die Suchanfrage gesendet
- Dim entry As AtomEntry
- For Each entry In resultfeed.Entries
- zahl = zahl + 1
- Dim youtubeUrl As String = entry.AlternateUri.Content
- Dim URLfinal As String
- URLfinal = youtubeUrl.Replace("&feature=youtube_gdata", "") 'entfernt das "&feature=youtube_gdata" aus dem Link, sodass nur noch der Youtube-Link eingetragen wird
- Console.WriteLine(zahl.ToString & ": " & getTitle(URLfinal) & " - " & URLfinal)
- Next
- Console.ReadLine()
- End Sub
- Public Function getTitle(ByVal HTML As String)
- Dim Title() As String
- Try
- start: Dim Titel As String = Text.RegularExpressions.Regex.Match(HTML, "<title>([^<]+)").Groups(1).Value
- Title = Split(Titel, "- Youtube", -1, CompareMethod.Text)
- Return Title(0)
- Catch
- GoTo start
- End Try
- End Function
- End Module
Das Ziel (eher später) wird es sein, alle YT-Suchresultate anzuzeigen und bei bedarf als .mp4 runterzuladen.
mfg
gfc