]>
jfr.im git - yt-dlp.git/blob - youtube_dl/extractor/sbs.py
1 # -*- coding: utf-8 -*-
2 from __future__
import unicode_literals
5 from . common
import InfoExtractor
12 class SBSIE ( InfoExtractor
):
13 IE_DESC
= 'sbs.com.au'
14 _VALID_URL
= r
'https?://(?:www\.)?sbs\.com\.au/ondemand/video/(?:single/)?(?P<id>[0-9]+)'
17 # Original URL is handled by the generic IE which finds the iframe:
18 # http://www.sbs.com.au/thefeed/blog/2014/08/21/dingo-conservation
19 'url' : 'http://www.sbs.com.au/ondemand/video/single/320403011771/?source=drupal&vertical=thefeed' ,
20 'md5' : '3150cf278965eeabb5b4cea1c963fe0a' ,
24 'title' : 'Dingo Conservation' ,
25 'description' : 'Dingoes are on the brink of extinction; most of the animals we think are dingoes are in fact crossbred with wild dogs. This family run a dingo conservation park to prevent their extinction' ,
26 'thumbnail' : 're:http://.*\.jpg' ,
28 'add_ies' : [ 'generic' ],
30 'url' : 'http://www.sbs.com.au/ondemand/video/320403011771/Dingo-Conservation-The-Feed' ,
31 'only_matching' : True ,
34 def _real_extract ( self
, url
):
35 video_id
= self
._ match
_ id
( url
)
37 webpage
= self
._ download
_ webpage
( url
, video_id
)
39 player
= self
._ search
_ regex
(
40 r
'(?s)playerParams\.releaseUrls\s*=\s*(\ {.*?\n\} );\n' ,
42 player
= re
. sub ( r
"'\s*\+\s*[\da-zA-Z_]+\s*\+\s*'" , '' , player
)
44 release_urls
= self
._ parse
_ json
( js_to_json ( player
), video_id
)
46 theplatform_url
= release_urls
. get ( 'progressive' ) or release_urls
[ 'standard' ]
48 title
= remove_end ( self
._ og
_ search
_ title
( webpage
), ' (The Feed)' )
49 description
= self
._ html
_ search
_ meta
( 'description' , webpage
)
50 thumbnail
= self
._ og
_ search
_ thumbnail
( webpage
)
53 '_type' : 'url_transparent' ,
55 'url' : theplatform_url
,
57 'description' : description
,
58 'thumbnail' : thumbnail
,