]>
 
 
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/cnet.py 
 
 
 
 
 
 
 
 
   2  from  __future__ 
import  unicode_literals
 
   6  from  . common 
import  InfoExtractor
 
  12  class  CNETIE ( InfoExtractor
):  
  13      _VALID_URL 
=  r
'https?://(?:www\.)?cnet\.com/videos/(?P<id>[^/]+)/'  
  15          'url' :  'http://www.cnet.com/videos/hands-on-with-microsofts-windows-8-1-update/' ,  
  17              'id' :  '56f4ea68-bd21-4852-b08c-4de5b8354c60' ,  
  19              'title' :  'Hands-on with Microsoft Windows 8.1 Update' ,  
  20              'description' :  'The new update to the Windows 8 OS brings improved performance for mouse and keyboard users.' ,  
  21              'thumbnail' :  're:^http://.*/flmswindows8.jpg$' ,  
  22              'uploader_id' :  '6085384d-619e-11e3-b231-14feb5ca9861' ,  
  23              'uploader' :  'Sarah Mitroff' ,  
  26              'skip_download' :  'requires rtmpdump' ,  
  29          'url' :  'http://www.cnet.com/videos/whiny-pothole-tweets-at-local-government-when-hit-by-cars-tomorrow-daily-187/' ,  
  31              'id' :  '56527b93-d25d-44e3-b738-f989ce2e49ba' ,  
  33              'description' :  'Khail and Ashley wonder what other civic woes can be solved by self-tweeting objects, investigate a new kind of VR camera and watch an origami robot self-assemble, walk, climb, dig and dissolve. #TDPothole' ,  
  34              'uploader_id' :  'b163284d-6b73-44fc-b3e6-3da66c392d40' ,  
  35              'uploader' :  'Ashley Esqueda' ,  
  36              'title' :  'Whiny potholes tweet at local government when hit by cars (Tomorrow Daily 187)' ,  
  39              'skip_download' :  True ,   # requires rtmpdump  
  43      def  _real_extract ( self
,  url
):  
  44          display_id 
=  self
._ match
_ id
( url
)  
  45          webpage 
=  self
._ download
_ webpage
( url
,  display_id
)  
  47          data_json 
=  self
._ html
_ search
_ regex
(  
  48              r
"<div class=\" cnetVideoPlayer
\" \s
+.* ?data
- cnet
- video
- options
= '([^' ]+) '",  
  50          data = json.loads(data_json)  
  53              vdata = data[' videos
'][0]  
  55              raise ExtractorError(' Cannot find video data
')  
  57          mpx_account = data[' config
'][' players
'][' default
'][' mpx_account
']  
  58          vid = vdata[' files
'].get(' rtmp
', vdata[' files
'][' hds
'])  
  59          tp_link = ' http
:// link
. theplatform
. com
/ s
/ %s/ %s ' % (mpx_account, vid)  
  61          video_id = vdata[' id ']  
  62          title = vdata.get(' headline
')  
  64              title = vdata.get(' title
')  
  66              raise ExtractorError(' Cannot find title
! ')  
  67          thumbnail = vdata.get(' image
', {}).get(' path
')  
  68          author = vdata.get(' author
')  
  70              uploader = ' %s  %s ' % (author[' firstName
'], author[' lastName
'])  
  71              uploader_id = author.get(' id ')  
  77              ' _type
': ' url_transparent
',  
  80              ' display_id
': display_id,  
  83              ' uploader_id
': uploader_id,  
  84              ' thumbnail
': thumbnail,