Browse Source

[youtube] Use the first v= argument in the URL

This is according to how youtube handles multiple v= values in one URL.
Before this, it was possible to make a single URL show up differently
 on youtube itself, and if you downloaded/viewed it with youtube-dl/mpv
totalwebcasting
Puck Meerburg 10 years ago
parent
commit
11b5605815
1 changed files with 18 additions and 1 deletions
  1. +18
    -1
      youtube_dl/extractor/youtube.py

+ 18
- 1
youtube_dl/extractor/youtube.py View File

@ -213,7 +213,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|(?: # or the v= param in all its forms |(?: # or the v= param in all its forms
(?:(?:watch|movie)(?:_popup)?(?:\.php)?/?)? # preceding watch(_popup|.php) or nothing (like /?v=xxxx) (?:(?:watch|movie)(?:_popup)?(?:\.php)?/?)? # preceding watch(_popup|.php) or nothing (like /?v=xxxx)
(?:\?|\#!?) # the params delimiter ? or # or #! (?:\?|\#!?) # the params delimiter ? or # or #!
(?:.*?&)? # any other preceding param (like /?s=tuff&v=xxxx)
(?:.*?&)?? # any other preceding param (like /?s=tuff&v=xxxx)
v= v=
) )
)) ))
@ -380,6 +380,23 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'uploader_id': 'setindia' 'uploader_id': 'setindia'
} }
}, },
{
'url': 'http://www.youtube.com/watch?v=BaW_jenozKcj&v=UxxajLWwzqY',
'note': 'Use the first video ID in the URL',
'info_dict': {
'id': 'BaW_jenozKc',
'ext': 'mp4',
'title': 'youtube-dl test video "\'/\\ä↭𝕐',
'uploader': 'Philipp Hagemeister',
'uploader_id': 'phihag',
'upload_date': '20121002',
'description': 'test chars: "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .',
'categories': ['Science & Technology'],
'tags': ['youtube-dl'],
'like_count': int,
'dislike_count': int,
}
},
{ {
'url': 'http://www.youtube.com/watch?v=a9LDPn-MO4I', 'url': 'http://www.youtube.com/watch?v=a9LDPn-MO4I',
'note': '256k DASH audio (format 141) via DASH manifest', 'note': '256k DASH audio (format 141) via DASH manifest',


Loading…
Cancel
Save