]>
jfr.im git - yt-dlp.git/blob - youtube_dl/extractor/liveleak.py
1 from __future__
import unicode_literals
6 from .common
import InfoExtractor
12 class LiveLeakIE(InfoExtractor
):
13 _VALID_URL
= r
'^(?:http://)?(?:\w+\.)?liveleak\.com/view\?(?:.*?)i=(?P<video_id>[\w_]+)(?:.*)'
15 'url': 'http://www.liveleak.com/view?i=757_1364311680',
16 'file': '757_1364311680.mp4',
17 'md5': '0813c2430bea7a46bf13acf3406992f4',
19 'description': 'extremely bad day for this guy..!',
20 'uploader': 'ljfriel2',
21 'title': 'Most unlucky car accident'
25 def _real_extract(self
, url
):
26 mobj
= re
.match(self
._VALID
_URL
, url
)
28 video_id
= mobj
.group('video_id')
29 webpage
= self
._download
_webpage
(url
, video_id
)
30 sources_raw
= self
._search
_regex
(
31 r
'(?s)sources:\s*(\[.*?\]),', webpage
, 'video URLs')
32 sources_json
= re
.sub(r
'\s([a-z]+):\s', r
'"\1": ', sources_raw
)
33 sources
= json
.loads(sources_json
)
36 'format_note': s
.get('label'),
39 self
._sort
_formats
(formats
)
41 video_title
= self
._og
_search
_title
(webpage
).replace('LiveLeak.com -', '').strip()
42 video_description
= self
._og
_search
_description
(webpage
)
43 video_uploader
= self
._html
_search
_regex
(
44 r
'By:.*?(\w+)</a>', webpage
, 'uploader', fatal
=False)
49 'description': video_description
,
50 'uploader': video_uploader
,