]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/shared.py
a07677686a4ecc2923b310c3aeeeaab610bb0868
   1 from __future__ 
import unicode_literals
 
   5 from .common 
import InfoExtractor
 
  16 class SharedIE(InfoExtractor
): 
  17     _VALID_URL 
= r
'http://shared\.sx/(?P<id>[\da-z]{10})' 
  20         'url': 'http://shared.sx/0060718775', 
  21         'md5': '106fefed92a8a2adb8c98e6a0652f49b', 
  29     def _real_extract(self
, url
): 
  30         video_id 
= self
._match
_id
(url
) 
  31         webpage 
= self
._download
_webpage
(url
, video_id
) 
  33         if '>File does not exist<' in webpage
: 
  35                 'Video %s does not exist' % video_id
, expected
=True) 
  37         download_form 
= self
._hidden
_inputs
(webpage
) 
  38         request 
= compat_urllib_request
.Request( 
  39             url
, compat_urllib_parse
.urlencode(download_form
)) 
  40         request
.add_header('Content-Type', 'application/x-www-form-urlencoded') 
  42         video_page 
= self
._download
_webpage
( 
  43             request
, video_id
, 'Downloading video page') 
  45         video_url 
= self
._html
_search
_regex
( 
  46             r
'data-url="([^"]+)"', video_page
, 'video URL') 
  47         title 
= base64
.b64decode(self
._html
_search
_meta
( 
  48             'full:title', webpage
, 'title').encode('utf-8')).decode('utf-8') 
  49         filesize 
= int_or_none(self
._html
_search
_meta
( 
  50             'full:size', webpage
, 'file size', fatal
=False)) 
  51         thumbnail 
= self
._html
_search
_regex
( 
  52             r
'data-poster="([^"]+)"', video_page
, 'thumbnail', default
=None) 
  60             'thumbnail': thumbnail
,