]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/digg.py
1 from .common
import InfoExtractor
2 from ..utils
import js_to_json
5 class DiggIE(InfoExtractor
):
6 _VALID_URL
= r
'https?://(?:www\.)?digg\.com/video/(?P<id>[^/?#&]+)'
8 # JWPlatform via provider
9 'url': 'http://digg.com/video/sci-fi-short-jonah-daniel-kaluuya-get-out',
13 'title': "'Get Out' Star Daniel Kaluuya Goes On 'Moby Dick'-Like Journey In Sci-Fi Short 'Jonah'",
14 'description': 'md5:541bb847648b6ee3d6514bc84b82efda',
15 'upload_date': '20180109',
16 'timestamp': 1515530551,
19 'skip_download': True,
22 # Youtube via provider
23 'url': 'http://digg.com/video/dog-boat-seal-play',
24 'only_matching': True,
26 # vimeo as regular embed
27 'url': 'http://digg.com/video/dream-girl-short-film',
28 'only_matching': True,
31 def _real_extract(self
, url
):
32 display_id
= self
._match
_id
(url
)
34 webpage
= self
._download
_webpage
(url
, display_id
)
36 info
= self
._parse
_json
(
38 r
'(?s)video_info\s*=\s*({.+?});\n', webpage
, 'video info',
39 default
='{}'), display_id
, transform_source
=js_to_json
,
42 video_id
= info
.get('video_id')
45 provider
= info
.get('provider_name')
46 if provider
== 'youtube':
47 return self
.url_result(
48 video_id
, ie
='Youtube', video_id
=video_id
)
49 elif provider
== 'jwplayer':
50 return self
.url_result(
51 'jwplatform:%s' % video_id
, ie
='JWPlatform',
54 return self
.url_result(url
, 'Generic')