Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Extract youtube video id with eval?

1 view
Skip to first unread message

comopasta Gr

unread,
Apr 7, 2008, 4:18:15 PM4/7/08
to
Hi,

I'm just doing the research but maybe someone already knows...

I have a youtube video url:
http://www.youtube.com/watch?v=n1NVfDlU6yQ&feature=related
(&feature might or might not be present)

I can get the thum of the video using:
http://img.youtube.com/vi/n1NVfDlU6yQ/default.jpg

So, I just need to use the video id.

Now, how to extract the video id easily? Eval?
Yeah simple I know...I'm working on it in the meanwhile.

Thanks
--
Posted via http://www.ruby-forum.com/.

comopasta Gr

unread,
Apr 7, 2008, 4:21:48 PM4/7/08
to
Hmm. Just read some stuff about eval. The video url is initially
provided by users. So is it wise to use eval for that (?)

Jano Svitok

unread,
Apr 7, 2008, 4:29:38 PM4/7/08
to
On Mon, Apr 7, 2008 at 10:21 PM, comopasta Gr <grana...@yahoo.com> wrote:
> Hmm. Just read some stuff about eval. The video url is initially
> provided by users. So is it wise to use eval for that (?)

Try using Regexps. BTW, somebody asked very similar question not too
long ago: http://www.ruby-forum.com/topic/143788

comopasta Gr

unread,
Apr 7, 2008, 4:30:41 PM4/7/08
to
Looks like what I'm looking for is an equivalent to javascripts
toQueryParams().
Is there one?

Cheers

Stefano Crocco

unread,
Apr 7, 2008, 4:31:19 PM4/7/08
to

If you only need to extract the part of the url between watch?v= and either
the end of the string or the &feature part, you can use a simple regexp:

id = url.match(/watch\?v=(.*?)(?:&feature|\Z)/)[1]

This matches the string 'watch?v= followed by any number of characters and by
either the string &feature or the end of the string. The middle part (which I
described as "any number of character") are then stored in the first subgroup
(the element with index 1 of the MatchData object returned by match).

You can create the image url with:

img_url = "http://img.youtube.com/vi/#{id}/default.jpg"

I hope this helps

Stefano

Marcel Molina Jr.

unread,
Apr 7, 2008, 4:43:41 PM4/7/08
to
On Tue, Apr 08, 2008 at 05:18:15AM +0900, comopasta Gr wrote:
> I'm just doing the research but maybe someone already knows...
>
> I have a youtube video url:
> http://www.youtube.com/watch?v=n1NVfDlU6yQ&feature=related
> (&feature might or might not be present)
>
> I can get the thum of the video using:
> http://img.youtube.com/vi/n1NVfDlU6yQ/default.jpg
>
> So, I just need to use the video id.
>
> Now, how to extract the video id easily? Eval?
> Yeah simple I know...I'm working on it in the meanwhile.

irb(main):001:0> require 'uri'
=> true
irb(main):002:0> uri = URI.parse('http://www.youtube.com/watch?v=n1NVfDlU6yQ&feature=related')
=> #<URI::HTTP:0x1b1066 URL:http://www.youtube.com/watch?v=n1NVfDlU6yQ&feature=related>
irb(main):003:0> require 'cgi'
=> true
irb(main):004:0> query_string = CGI.parse(uri.query)
=> {"feature"=>["related"], "v"=>["n1NVfDlU6yQ"]}

marcel
--
Marcel Molina Jr. <mar...@vernix.org>

comopasta Gr

unread,
Apr 7, 2008, 4:45:34 PM4/7/08
to
Thank you so much guys!

..and sorry for the topic duplication indeed it was covered before

Cheers!

0 new messages