]>
 
 
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/slideshare.py 
 
 
 
 
 
 
 
 
   1  from  __future__ 
import  unicode_literals
 
   6  from  . common 
import  InfoExtractor
 
  13  class  SlideshareIE ( InfoExtractor
):  
  14      _VALID_URL 
=  r
'https?://www\.slideshare\.net/[^/]+?/(?P<title>.+?)($|\?)'  
  17          'url' :  'http://www.slideshare.net/Dataversity/keynote-presentation-managing-scale-and-complexity' ,  
  21              'title' :  'Managing Scale and Complexity' ,  
  22              'description' :  'This was a keynote presentation at the NoSQL Now! 2013 Conference & Expo (http://www.nosqlnow.com). This presentation was given by Adrian Cockcroft from Netflix.' ,  
  26      def  _real_extract ( self
,  url
):  
  27          mobj 
=  re
. match ( self
._ VALID
_U RL
,  url
)  
  28          page_title 
=  mobj
. group ( 'title' )  
  29          webpage 
=  self
._ download
_ webpage
( url
,  page_title
)  
  30          slideshare_obj 
=  self
._ search
_ regex
(  
  31              r
'var slideshare_object =  ({.*?}); var user_info =' ,  
  32              webpage
,  'slideshare object' )  
  33          info 
=  json
. loads ( slideshare_obj
)  
  34          if  info
[ 'slideshow' ][ 'type' ] !=  'video' :  
  35              raise  ExtractorError ( 'Webpage type is " %s ": only video extraction is supported for Slideshare'  %  info
[ 'slideshow' ][ 'type' ],  expected
= True )  
  38          bucket 
=  info
[ 'jsplayer' ][ 'video_bucket' ]  
  39          ext 
=  info
[ 'jsplayer' ][ 'video_extension' ]  
  40          video_url 
=  compat_urlparse
. urljoin ( bucket
,  doc 
+  '-SD.'  +  ext
)  
  41          description 
=  self
._ html
_ search
_ regex
(  
  42              r
'<p class="description.*?"[^>]*>(.*?)</p>' ,  webpage
,  'description' )  
  46              'id' :  info
[ 'slideshow' ][ 'id' ],  
  47              'title' :  info
[ 'slideshow' ][ 'title' ],  
  50              'thumbnail' :  info
[ 'slideshow' ][ 'pin_image_url' ],  
  51              'description' :  description
,