Parsing Youtube URL

8

Ich habe einen Ruby-Youtube-URL-Parser geschrieben. Es wurde entwickelt, um eine Eingabe einer Youtube-URL von einer der folgenden Strukturen zu nehmen (das sind derzeit die Youtube-URL-Strukturen, die ich finden konnte, vielleicht gibt es noch mehr?):

%Vor%

Ziel ist es, nur die ID des Clips oder der Playlist zu speichern, damit sie eingebettet werden kann. Wenn es sich um einen Clip handelt: 'sGE4HMvDe-Q' oder wenn es sich um eine Playlist handelt: 'p/A0C3C1D163BE880A'

Der Parser, den ich geschrieben habe, funktioniert gut für diese URLs, wirkt aber ein bisschen spröde und langatmig. Ich frage mich nur, ob jemand einen schöneren Rubin-Ansatz für dieses Problem vorschlagen könnte?

%Vor%     
Paul Nelligan 02.07.2011, 11:38
quelle

3 Antworten

19
%Vor%

Je nachdem, wie Sie dies verwenden, möchten Sie vielleicht eine bessere Validierung, dass die URL tatsächlich von youtube stammt.

AKTUALISIEREN :

Noch ein paar Jahre später. Ich war schon immer verärgert darüber, wie schlampig die ursprüngliche Antwort war. Da die Gültigkeit der Youtube-Domain trotzdem nicht validiert wurde, habe ich etwas vom Slop entfernt.

%Vor%     
Vache 02.07.2011, 12:49
quelle
4

Mit dem Addressable Juwel können Sie sich selbst einige Arbeit sparen. Es gibt auch ein URI-Modul in stdlib, aber Addressable ist leistungsfähiger.

%Vor%

BEARBEITEN | Wahnsinn entfernt. Habe nicht bemerkt Addressable stellt #query_values bereits bereit.

    
d11wtq 02.07.2011 12:34
quelle
4
%Vor%     
Vasiliy Ermolovich 02.07.2011 12:49
quelle

Tags und Links