]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/ninegag.py 
ea986c00e7b1170e883978b82cfde8f0e22d8dd0
   4  from  . common 
import  InfoExtractor
   7  class  NineGagIE ( InfoExtractor
):    9      _VALID_URL 
=  r
'^https?://(?:www\.)?9gag\.tv/v/(?P<id>[0-9]+)'   12          u
"url" :  u
"http://9gag.tv/v/1912" ,   15              u
"description" :  u
"This 3-minute video will make you smile and then make you feel untalented and insignificant. Anyway, you should share this awesomeness. (Thanks, Dino!)" ,   16              u
"title" :  u
" \" People Are Awesome 2013 \"  Is Absolutely Awesome"   18          u
'add_ie' : [ u
'Youtube' ]   21      def  _real_extract ( self
,  url
):   22          mobj 
=  re
. match ( self
._ VALID
_U RL
,  url
)   23          video_id 
=  mobj
. group ( 'id' )   25          webpage 
=  self
._ download
_ webpage
( url
,  video_id
)   26          data_json 
=  self
._ html
_ search
_ regex
( r
'''(?x)   27              <div\s*id="tv-video"\s*data-video-source="youtube"\s*   28                  data-video-meta="([^"]+)"''' ,  webpage
,  u
'video metadata' )   30          data 
=  json
. loads ( data_json
)   33              '_type' :  'url_transparent' ,   34              'url' :  data
[ 'youtubeVideoId' ],   37              'title' :  data
[ 'title' ],   38              'description' :  data
[ 'description' ],   39              'view_count' :  int ( data
[ 'view_count' ]),   40              'like_count' :  int ( data
[ 'statistic' ][ 'like' ]),   41              'dislike_count' :  int ( data
[ 'statistic' ][ 'dislike' ]),   42              'thumbnail' :  data
[ 'thumbnail_url' ],