]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/pyvideo.py
   4 from .common 
import InfoExtractor
 
   7 class PyvideoIE(InfoExtractor
): 
   8     _VALID_URL 
= r
'(?:http://)?(?:www\.)?pyvideo\.org/video/(?P<id>\d+)/(.*)' 
  10         u
'url': u
'http://pyvideo.org/video/1737/become-a-logging-expert-in-30-minutes', 
  11         u
'file': u
'24_4WWkSmNo.mp4', 
  12         u
'md5': u
'de317418c8bc76b1fd8633e4f32acbc6', 
  14             u
"title": u
"Become a logging expert in 30 minutes", 
  15             u
"description": u
"md5:9665350d466c67fb5b1598de379021f7", 
  16             u
"upload_date": u
"20130320", 
  17             u
"uploader": u
"NextDayVideo", 
  18             u
"uploader_id": u
"NextDayVideo", 
  20         u
'add_ie': ['Youtube'], 
  23         u
'url': u
'http://pyvideo.org/video/2542/gloriajw-spotifywitherikbernhardsson182m4v', 
  24         u
'md5': u
'5fe1c7e0a8aa5570330784c847ff6d12', 
  28             u
'title': u
'Gloriajw-SpotifyWithErikBernhardsson182', 
  33     def _real_extract(self
, url
): 
  34         mobj 
= re
.match(self
._VALID
_URL
, url
) 
  35         video_id 
= mobj
.group('id') 
  36         webpage 
= self
._download
_webpage
(url
, video_id
) 
  37         m_youtube 
= re
.search(r
'(https?://www\.youtube\.com/watch\?v=.*)', webpage
) 
  39         if m_youtube 
is not None: 
  40             return self
.url_result(m_youtube
.group(1), 'Youtube') 
  42         title 
= self
._html
_search
_regex
(r
'<div class="section">.*?<h3>([^>]+?)</h3>', 
  43             webpage
, u
'title', flags
=re
.DOTALL
) 
  44         video_url 
= self
._search
_regex
([r
'<source src="(.*?)"', 
  45             r
'<dt>Download</dt>.*?<a href="(.+?)"'], 
  46             webpage
, u
'video url', flags
=re
.DOTALL
) 
  49             'title': os
.path
.splitext(title
)[0],