1
0
mirror of https://github.com/l1ving/youtube-dl synced 2026-06-07 13:43:32 +08:00

Added Biqle.ru extractor.

This commit is contained in:
Erik Bostrom
2015-07-08 16:34:29 +03:00
Unverified
parent 7f220b2fac
commit 2da597aec9
2 changed files with 68 additions and 0 deletions
+1
View File
@@ -45,6 +45,7 @@ from .beatportpro import BeatportProIE
from .bet import BetIE
from .bild import BildIE
from .bilibili import BiliBiliIE
from .biqle import BiqleIE
from .blinkx import BlinkxIE
from .bliptv import BlipTVIE, BlipTVUserIE
from .bloomberg import BloombergIE
+67
View File
@@ -0,0 +1,67 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
import re
class BiqleIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?biqle\.ru/watch/(?P<id>-?[0-9]+_[0-9]+)'
_TEST = {
'url': 'http://www.biqle.ru/watch/847655_160197695',
'md5': 'ad5f746a874ccded7b8f211aeea96637',
'info_dict': {
'id': '847655_160197695',
'ext': 'mp4',
'title': 'Foo Fighters - The Pretender (Live at Wembley Stadium) — BIQLE Видео'
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
chr_index = video_id.find('_')
oid = video_id[:chr_index]
vid = video_id[chr_index + 1:]
title = self._html_search_regex(r'<title>(.*?)</title>', webpage, 'title')
foo = self._html_search_regex(r'<iframe id="video_player"(.*?)></iframe>', webpage, 'foo')
embed_hash = self._search_regex(r'hash=(.*?)&', foo, 'embed_hash')
api_url = "https://api.vk.com/method/video.getEmbed?oid=" + oid + "&video_id=" + vid + "&embed_hash=" + embed_hash + "&callback=daxabAjaxFn"
vk_api = self._download_webpage(api_url, "vk.com api")
url240 = self._search_regex(r'"url240":"(.*?.mp4)', vk_api, 'url240', fatal=False)
url360 = self._search_regex(r'"url360":"(.*?.mp4)', vk_api, 'url360', fatal=False)
url480 = self._search_regex(r'"url480":"(.*?.mp4)', vk_api, 'url480', fatal=False)
url720 = self._search_regex(r'"url720":"(.*?.mp4)', vk_api, 'url720', fatal=False)
formats = []
if(url240 != None):
formats.append({
'url': re.sub(r'\\', '', url240),
'format':'240p mp4'
})
if(url360 != None):
formats.append({
'url': re.sub(r'\\', '', url360),
'format':'360p mp4'
})
if(url480 != None):
formats.append({
'url': re.sub(r'\\', '', url480),
'format':'480p mp4'
})
if(url720 != None):
formats.append({
'url': re.sub(r'\\', '', url720),
'format':'720p mp4'
})
return {
'id': video_id,
'title': title,
'formats': formats
}