Browse Source

comediansincarsgettingcoffee.com support

totalwebcasting
felix 10 years ago
parent
commit
dc65a213fd
2 changed files with 47 additions and 0 deletions
  1. +1
    -0
      youtube_dl/extractor/__init__.py
  2. +46
    -0
      youtube_dl/extractor/ccc.py

+ 1
- 0
youtube_dl/extractor/__init__.py View File

@ -48,6 +48,7 @@ from .canalplus import CanalplusIE
from .canalc2 import Canalc2IE
from .cbs import CBSIE
from .cbsnews import CBSNewsIE
from .ccc import ComCarCoffIE
from .ceskatelevize import CeskaTelevizeIE
from .channel9 import Channel9IE
from .chilloutzone import ChilloutzoneIE


+ 46
- 0
youtube_dl/extractor/ccc.py View File

@ -0,0 +1,46 @@
# encoding: utf-8
import re
import json
from .common import InfoExtractor
from ..utils import (
unified_strdate,
)
class ComCarCoffIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?comediansincarsgettingcoffee\.com/(?P<id>[a-z0-9\-]+)/?'
_TESTS = [
{
'url': 'http://comediansincarsgettingcoffee.com/miranda-sings-happy-thanksgiving-miranda/',
'info_dict': {
'id': 'miranda-sings-happy-thanksgiving-miranda',
'upload_date': '20141127',
'title': 'Happy Thanksgiving Miranda',
'description': 'Jerry Seinfeld and his special guest Miranda Sings cruise around town in search of coffee, complaining and apologizing along the way.',
'thumbnail': 'http://ccc.crackle.com/images/s5e4_thumb.jpg',
},
}
]
def _real_extract(self, url):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
full_data = json.loads(self._search_regex(
r'<script type="application/json" id="videoData">(?P<json>.+?)</script>',
webpage, 'json'))
video_id = full_data['activeVideo']['video']
video_data = full_data['videos'][video_id]
return {
'id': video_id,
'display_id': display_id,
'title': video_data['title'],
'description': video_data['description'],
# XXX: the original datum is a full ISO timestamp... why convert it to a worse format?
'upload_date': unified_strdate(video_data['pubDate']),
'thumbnail': video_data['images']['thumb'],
# XXX: what do we do with video_data['images']['poster']?
'formats': self._extract_m3u8_formats(video_data['mediaUrl'], video_id),
}

Loading…
Cancel
Save