[VB.net] Youtube Links filtern?

10/31/2012 15:39 CreativeCommonsCloud#1
Hey,
Ich habe eine Frage bezüglich Youtube Links
Und zwar hab ich vor ein Programm zu schreiben das mir verschiedene Youtube Links nach "Mobile URL", "Video Static URL", und "Source" Filtert.

Beispiel:

Video: [Only registered and activated users can see links. Click Here To Register...]

* Mobile URL: [Only registered and activated users can see links. Click Here To Register...]


Video Static URL:

einmal: [Only registered and activated users can see links. Click Here To Register...] (Statistik 1 von dem Youtube Video)
und einmal: [Only registered and activated users can see links. Click Here To Register...] (Statistik 2 von dem Youtube video)

Und als letztes die Source (Browser): Chrome

Ich habe alle Links manuell rausgefiltert mit Charles Proxy und einem UserAgent Addon für Google Chrome für den Mobile URL Link.

Soo.. So sollte es dann auch hier aussehen:

[Only registered and activated users can see links. Click Here To Register...]

Man gibt die URL eines Videos ein, und erhaltet dann die demensprechenden URLs.

Ist sowas möglich? Wenn ja wie?

(Ich bin ein totaler Anfänger was das angeht :P)

Danke im vorraus!
11/01/2012 08:24 coladose#2
Easy.

PHP Code:
'Du brauchst eine Form mit einer Textbox, einem Button und einer RichTextBox
'
In diese TextBox muss die URL in einem solchen Formathttp://www.youtube.com/watch?v=VideoID
'Die Box heißt "inURL", der Button heißt "cmdLoad" und die RichTextBox heißt "rtbOut"

Private Sub cmdLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLoad.Click

Dim s1 As String = String.Empty
Dim s2 As String = String.Empty
Dim mo As String = String.Empty
Dim inStr As String = inURL.Text.Replace("http://www.youtube.com/watch?v=","")

mo = "http://m.youtube.com/watch?v=" & inStr
s1 = "http://s1.youtube.com/watch?v=" & inStr
s2 = "http://s1.youtube.com/watch?v=" & inStr

rtbOut.AppendText("Original: " & inURL.Text & vbNewLine & _
          "Mobil: " & mo & vbNewLine & _
          "Static(1): " & s1 & vbNewLine & _
          "Static(2): " & s2)

End Sub 
11/01/2012 10:52 CreativeCommonsCloud#3
Quote:
Originally Posted by coladose View Post
Easy.

PHP Code:
'Du brauchst eine Form mit einer Textbox, einem Button und einer RichTextBox
'
In diese TextBox muss die URL in einem solchen Formathttp://www.youtube.com/watch?v=VideoID
'Die Box heißt "inURL", der Button heißt "cmdLoad" und die RichTextBox heißt "rtbOut"

Private Sub cmdLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLoad.Click

Dim s1 As String = String.Empty
Dim s2 As String = String.Empty
Dim mo As String = String.Empty
Dim inStr As String = inURL.Text.Replace("http://www.youtube.com/watch?v=","")

mo = "http://m.youtube.com/watch?v=" & inStr
s1 = "http://s1.youtube.com/watch?v=" & inStr
s2 = "http://s1.youtube.com/watch?v=" & inStr

rtbOut.AppendText("Original: " & inURL.Text & vbNewLine & _
          "Mobil: " & mo & vbNewLine & _
          "Static(1): " & s1 & vbNewLine & _
          "Static(2): " & s2)

End Sub 

Naja, der Mobile link ist richtig, aber s1 und s2 stimmen nicht.

s1.youtube.com ist nicht gleich /watch?v=...

das gleiche wie bei s2.youtube.com

Die haben verschiedene links und sind nicht auf das "/watch?v=" basiert.
Sonst wärens ja keine Statistik Links :P

Aber danke für den Anfang.. evt. kannste mir bei s1. und s2. noch helfen ;)
11/01/2012 13:18 coladose#4
Bei den Statistiken muss man soweit ich weiß als Videoersteller eingeloggt sein. Die links lassen sich nicht so einfach generieren, da immer ein extra Token von YT generiert wird.
11/01/2012 15:10 CreativeCommonsCloud#5
Das stimmt leider nicht ganz, denn meistens werden s1 und s2 Statistiken unter dem normalen link verschickt.

Ich demonstriere dir das ma eben.

Hier ein bild von dem Programm charles mit den entsprechenden HTML URLs (In dem falle HTML5).

[Only registered and activated users can see links. Click Here To Register...]

Hier sieht man die Youtube, s.youtube und die s2.youtube Requests.

Alle dieser Requests haben eine URL. Und davon ist es unterschiedlich ob sie vom eigenen Video oder von anderen Videos stammen.

s.youtube enthaltet die "views" in diesem falle.
s2.youtube enthaltet die Statistik Analyse von Google.

Also muss es doch irgendwie möglich sein diese beiden rauszufiltern..