]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/comedycentral.py
4cac294153f166b676f1bdcdb2d47ee9e5fdf693
1 from __future__
import unicode_literals
3 from . mtv
import MTVServicesInfoExtractor
4 from . common
import InfoExtractor
7 class ComedyCentralIE ( MTVServicesInfoExtractor
):
8 _VALID_URL
= r
'''(?x)https?://(?:www\.)?cc\.com/
9 (video-clips|episodes|cc-studios|video-collections|shows(?=/[^/]+/(?!full-episodes)))
11 _FEED_URL
= 'http://comedycentral.com/feeds/mrss/'
14 'url' : 'http://www.cc.com/video-clips/kllhuv/stand-up-greg-fitzsimmons--uncensored---too-good-of-a-mother' ,
15 'md5' : 'c4f48e9eda1b16dd10add0744344b6d8' ,
17 'id' : 'cef0cbb3-e776-4bc9-b62e-8016deccb354' ,
19 'title' : 'CC:Stand-Up|August 18, 2013|1|0101|Uncensored - Too Good of a Mother' ,
20 'description' : 'After a certain point, breastfeeding becomes c**kblocking.' ,
21 'timestamp' : 1376798400 ,
22 'upload_date' : '20130818' ,
25 'url' : 'http://www.cc.com/shows/the-daily-show-with-trevor-noah/interviews/6yx39d/exclusive-rand-paul-extended-interview' ,
26 'only_matching' : True ,
30 class ComedyCentralFullEpisodesIE ( MTVServicesInfoExtractor
):
31 _VALID_URL
= r
'''(?x)https?://(?:www\.)?cc\.com/
32 (?:full-episodes|shows(?=/[^/]+/full-episodes))
34 _FEED_URL
= 'http://comedycentral.com/feeds/mrss/'
37 'url' : 'http://www.cc.com/full-episodes/pv391a/the-daily-show-with-trevor-noah-november-28--2016---ryan-speedo-green-season-22-ep-22028' ,
39 'description' : 'Donald Trump is accused of exploiting his president-elect status for personal gain, Cuban leader Fidel Castro dies, and Ryan Speedo Green discusses "Sing for Your Life."' ,
40 'title' : 'November 28, 2016 - Ryan Speedo Green' ,
44 'url' : 'http://www.cc.com/shows/the-daily-show-with-trevor-noah/full-episodes' ,
45 'only_matching' : True ,
48 def _real_extract ( self
, url
):
49 playlist_id
= self
._ match
_ id
( url
)
50 webpage
= self
._ download
_ webpage
( url
, playlist_id
)
51 mgid
= self
._ extract
_ triforce
_ mgid
( webpage
, data_zone
= 't2_lc_promo1' )
52 videos_info
= self
._ get
_ videos
_ info
( mgid
)
56 class ToshIE ( MTVServicesInfoExtractor
):
58 _VALID_URL
= r
'^https?://tosh\.cc\.com/video-(?:clips|collections)/[^/]+/(?P<videotitle>[^/?#]+)'
59 _FEED_URL
= 'http://tosh.cc.com/feeds/mrss'
62 'url' : 'http://tosh.cc.com/video-clips/68g93d/twitter-users-share-summer-plans' ,
64 'description' : 'Tosh asked fans to share their summer plans.' ,
65 'title' : 'Twitter Users Share Summer Plans' ,
68 'md5' : 'f269e88114c1805bb6d7653fecea9e06' ,
70 'id' : '90498ec2-ed00-11e0-aca6-0026b9414f30' ,
72 'title' : 'Tosh.0|June 9, 2077|2|211|Twitter Users Share Summer Plans' ,
73 'description' : 'Tosh asked fans to share their summer plans.' ,
74 'thumbnail' : r
're:^https?://.*\.jpg' ,
75 # It's really reported to be published on year 2077
76 'upload_date' : '20770610' ,
77 'timestamp' : 3390510600 ,
84 'url' : 'http://tosh.cc.com/video-collections/x2iz7k/just-plain-foul/m5q4fp' ,
85 'only_matching' : True ,
89 class ComedyCentralTVIE ( MTVServicesInfoExtractor
):
90 _VALID_URL
= r
'https?://(?:www\.)?comedycentral\.tv/(?:staffeln|shows)/(?P<id>[^/?#&]+)'
92 'url' : 'http://www.comedycentral.tv/staffeln/7436-the-mindy-project-staffel-4' ,
94 'id' : 'local_playlist-f99b626bdfe13568579a' ,
96 'title' : 'Episode_the-mindy-project_shows_season-4_episode-3_full-episode_part1' ,
100 'skip_download' : True ,
103 'url' : 'http://www.comedycentral.tv/shows/1074-workaholics' ,
104 'only_matching' : True ,
106 'url' : 'http://www.comedycentral.tv/shows/1727-the-mindy-project/bonus' ,
107 'only_matching' : True ,
110 def _real_extract ( self
, url
):
111 video_id
= self
._ match
_ id
( url
)
113 webpage
= self
._ download
_ webpage
( url
, video_id
)
115 mrss_url
= self
._ search
_ regex
(
116 r
'data-mrss=(["\' ])( ?P
< url
>( ?
:( ?
! \
1 ).)+) \
1 ',
117 webpage, ' mrss url
', group=' url
')
119 return self._get_videos_info_from_url(mrss_url, video_id)
122 class ComedyCentralShortnameIE(InfoExtractor):
123 _VALID_URL = r' ^
:( ?P
< id > tds|thedailyshow
) $
'
126 ' only_matching
': True,
128 ' url
': ' : thedailyshow
',
129 ' only_matching
': True,
132 def _real_extract(self, url):
133 video_id = self._match_id(url)
135 ' tds
': ' http
:// www
. cc
. com
/ shows
/ the
- daily
- show
- with - trevor
- noah
/ full
- episodes
',
136 ' thedailyshow
': ' http
:// www
. cc
. com
/ shows
/ the
- daily
- show
- with - trevor
- noah
/ full
- episodes
',
138 return self.url_result(shortcut_map[video_id])