]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/twentymin.py 
   2  from  __future__ 
import  unicode_literals
   6  from  . common 
import  InfoExtractor
   7  from  .. utils 
import  remove_end
  10  class  TwentyMinutenIE ( InfoExtractor
):   12      _VALID_URL 
=  r
'https?://(?:www\.)?20min\.ch/(?:videotv/*\?.*\bvid=(?P<id>\d+)|(?:[^/]+/)*(?P<display_id>[^/#?]+))'   15          'url' :  'http://www.20min.ch/videotv/?vid=469148&cid=2' ,   16          'md5' :  'b52d6bc6ea6398e6a38f12cfd418149c' ,   20              'title' :  '85 000 Franken für 15 perfekte Minuten' ,   21              'description' :  'Was die Besucher vom Silvesterzauber erwarten können. (Video: Alice Grosjean/Murat Temel)' ,   22              'thumbnail' :  'http://thumbnails.20min-tv.ch/server063/469148/frame-72-469148.jpg'   25          # news article with video   26          'url' :  'http://www.20min.ch/schweiz/news/story/-Wir-muessen-mutig-nach-vorne-schauen--22050469' ,   27          'md5' :  'cd4cbb99b94130cff423e967cd275e5e' ,   30              'display_id' :  '-Wir-muessen-mutig-nach-vorne-schauen--22050469' ,   32              'title' :  '«Wir müssen mutig nach vorne schauen»' ,   33              'description' :  'Kein Land sei innovativer als die Schweiz, sagte Johann Schneider-Ammann in seiner Neujahrsansprache. Das Land müsse aber seine Hausaufgaben machen.' ,   34              'thumbnail' :  'http://www.20min.ch/images/content/2/2/0/22050469/10/teaserbreit.jpg'   37          'url' :  'http://www.20min.ch/videotv/?cid=44&vid=468738' ,   38          'only_matching' :  True ,   40          'url' :  'http://www.20min.ch/ro/sortir/cinema/story/Grandir-au-bahut--c-est-dur-18927411' ,   41          'only_matching' :  True ,   44      def  _real_extract ( self
,  url
):   45          mobj 
=  re
. match ( self
._ VALID
_U RL
,  url
)   46          video_id 
=  mobj
. group ( 'id' )   47          display_id 
=  mobj
. group ( 'display_id' )  or  video_id
  49          webpage 
=  self
._ download
_ webpage
( url
,  display_id
)   51          title 
=  self
._ html
_ search
_ regex
(   52              r
'<h1>.*?<span>(.+?)</span></h1>' ,   53              webpage
,  'title' ,  default
= None )   55              title 
=  remove_end ( re
. sub (   56                  r
'^20 [Mm]inuten.*? -' ,  '' ,  self
._ og
_ search
_ title
( webpage
)),  ' - News' )   59              video_id 
=  self
._ search
_ regex
(   60                  r
'"file\d?"\s*,\s*\"(\d+)' ,  webpage
,  'video id' )   62          description 
=  self
._ html
_ search
_ meta
(   63              'description' ,  webpage
,  'description' )   64          thumbnail 
=  self
._ og
_ search
_ thumbnail
( webpage
)   68              'display_id' :  display_id
,   69              'url' :  'http://speed.20min-tv.ch/ %s m.flv'  %  video_id
,   71              'description' :  description
,   72              'thumbnail' :  thumbnail
,