[bliptv] Fix resolution of lookup id in some videos
In some videos (for example, http://blip.tv/play/gbk766dkj4Yn) resolving lookup id would fail, because page at http://blip.tv/play/gbk766dkj4Yn.x?p=1 would have no "config.id" in it. Fixed by requesting different URL and inspecting the URL which the client is redirected to.
This commit is contained in:
parent
e987e91fcc
commit
96b7c7fe3f
1 changed files with 21 additions and 5 deletions
|
@ -64,6 +64,20 @@ class BlipTVIE(SubtitlesInfoExtractor):
|
||||||
'uploader': 'redvsblue',
|
'uploader': 'redvsblue',
|
||||||
'uploader_id': '792887',
|
'uploader_id': '792887',
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': 'http://blip.tv/play/gbk766dkj4Yn',
|
||||||
|
'md5': 'fe0a33f022d49399a241e84a8ea8b8e3',
|
||||||
|
'info_dict': {
|
||||||
|
'id': '1749452',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'upload_date': '20090208',
|
||||||
|
'description': 'Witness the first appearance of the Nostalgia Critic character, as Doug reviews the movie Transformers.',
|
||||||
|
'title': 'Nostalgia Critic: Transformers',
|
||||||
|
'timestamp': 1234068723,
|
||||||
|
'uploader': 'NostalgiaCritic',
|
||||||
|
'uploader_id': '246467',
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -74,10 +88,12 @@ class BlipTVIE(SubtitlesInfoExtractor):
|
||||||
# See https://github.com/rg3/youtube-dl/issues/857 and
|
# See https://github.com/rg3/youtube-dl/issues/857 and
|
||||||
# https://github.com/rg3/youtube-dl/issues/4197
|
# https://github.com/rg3/youtube-dl/issues/4197
|
||||||
if lookup_id:
|
if lookup_id:
|
||||||
info_page = self._download_webpage(
|
urlh = self._request_webpage(
|
||||||
'http://blip.tv/play/%s.x?p=1' % lookup_id, lookup_id, 'Resolving lookup id')
|
'http://blip.tv/play/%s' % lookup_id, lookup_id, 'Resolving lookup id')
|
||||||
video_id = self._search_regex(r'config\.id\s*=\s*"([0-9]+)', info_page, 'video_id')
|
url = compat_urlparse.urlparse(urlh.geturl())
|
||||||
else:
|
qs = compat_urlparse.parse_qs(url.query)
|
||||||
|
mobj = re.match(self._VALID_URL, qs['file'][0])
|
||||||
|
|
||||||
video_id = mobj.group('id')
|
video_id = mobj.group('id')
|
||||||
|
|
||||||
rss = self._download_xml('http://blip.tv/rss/flash/%s' % video_id, video_id, 'Downloading video RSS')
|
rss = self._download_xml('http://blip.tv/rss/flash/%s' % video_id, video_id, 'Downloading video RSS')
|
||||||
|
|
Loading…
Reference in a new issue