]>
 
 
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/veoh.py 
 
 
 
 
 
 
 
 
   1  from  __future__ 
import  unicode_literals
 
   3  from  . common 
import  InfoExtractor
 
  11  class  VeohIE ( InfoExtractor
):  
  12      _VALID_URL 
=  r
'https?://(?:www\.)?veoh\.com/(?:watch|embed|iphone/#_Watch)/(?P<id>(?:v|e|yapi-)[\da-zA-Z]+)'  
  15          'url' :  'http://www.veoh.com/watch/v56314296nk7Zdmz3' ,  
  16          'md5' :  '9e7ecc0fd8bbee7a69fe38953aeebd30' ,  
  18              'id' :  'v56314296nk7Zdmz3' ,  
  20              'title' :  'Straight Backs Are Stronger' ,  
  21              'uploader' :  'LUMOback' ,  
  22              'description' :  'At LUMOback, we believe straight backs are stronger.  The LUMOback Posture & Movement Sensor:  It gently vibrates when you slouch, inspiring improved posture and mobility.  Use the app to track your data and improve your posture over time. ' ,  
  25          'url' :  'http://www.veoh.com/embed/v56314296nk7Zdmz3' ,  
  26          'only_matching' :  True ,  
  28          'url' :  'http://www.veoh.com/watch/v27701988pbTc4wzN?h1=Chile+workers+cover+up+to+avoid+skin+damage' ,  
  29          'md5' :  '4a6ff84b87d536a6a71e6aa6c0ad07fa' ,  
  33              'title' :  'Chile workers cover up to avoid skin damage' ,  
  34              'description' :  'md5:2bd151625a60a32822873efc246ba20d' ,  
  35              'uploader' :  'afp-news' ,  
  38          'skip' :  'This video has been deleted.' ,  
  40          'url' :  'http://www.veoh.com/watch/v69525809F6Nc4frX' ,  
  41          'md5' :  '4fde7b9e33577bab2f2f8f260e30e979' ,  
  42          'note' :  'Embedded ooyala video' ,  
  46              'title' :  'Doctors Alter Plan For Preteen \' s Weight Loss Surgery' ,  
  47              'description' :  'md5:f5a11c51f8fb51d2315bca0937526891' ,  
  48              'uploader' :  'newsy-videos' ,  
  50          'skip' :  'This video has been deleted.' ,  
  52          'url' :  'http://www.veoh.com/watch/e152215AJxZktGS' ,  
  53          'only_matching' :  True ,  
  56      def  _extract_video ( self
,  source
):  
  58              'id' :  source
. get ( 'videoId' ),  
  59              'title' :  source
. get ( 'title' ),  
  60              'description' :  source
. get ( 'description' ),  
  61              'thumbnail' :  source
. get ( 'highResImage' )  or  source
. get ( 'medResImage' ),  
  62              'uploader' :  source
. get ( 'username' ),  
  63              'duration' :  int_or_none ( source
. get ( 'length' )),  
  64              'view_count' :  int_or_none ( source
. get ( 'views' )),  
  65              'age_limit' :  18  if  source
. get ( 'isMature' ) ==  'true'  or  source
. get ( 'isSexy' ) ==  'true'  else  0 ,  
  66              'formats' :  self
._ extract
_ formats
( source
),  
  69      def  _real_extract ( self
,  url
):  
  70          video_id 
=  self
._ match
_ id
( url
)  
  71          video 
=  self
._ download
_ json
(  
  72              'https://www.veoh.com/watch/getVideo/'  +  video_id
,  
  74          title 
=  video
[ 'title' ]  
  77          q 
=  qualities ([ 'HQ' ,  'Regular' ])  
  79          for  f_id
,  f_url 
in  video
. get ( 'src' , {}). items ():  
  90          self
._ sort
_ formats
( formats
)  
  95              'description' :  video
. get ( 'description' ),  
  96              'thumbnail' :  thumbnail_url
,  
  97              'uploader' :  video
. get ( 'author' , {}). get ( 'nickname' ),  
  98              'duration' :  int_or_none ( video
. get ( 'lengthBySec' ))  or  parse_duration ( video
. get ( 'length' )),  
  99              'view_count' :  int_or_none ( video
. get ( 'views' )),  
 101              'average_rating' :  int_or_none ( video
. get ( 'rating' )),  
 102              'comment_count' :  int_or_none ( video
. get ( 'numOfComments' )),