1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-11-20 21:52:54 +08:00

[cjsw] Add extractor

This commit is contained in:
Christopher Smith 2017-06-29 13:10:45 -06:00 committed by Sergey M․
parent 4328ddf82b
commit d2b9f362fa
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
2 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,41 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class CJSWIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?cjsw\.com/program/\S+/(?P<id>[0-9]+)'
IE_NAME = 'cjsw'
_TEST = {
'url': 'http://cjsw.com/program/freshly-squeezed/episode/20170620',
'md5': 'cee14d40f1e9433632c56e3d14977120',
'info_dict': {
'id': '20170620',
'ext': 'mp3',
'title': 'Freshly Squeezed',
'description': 'Sled Island artists featured // Live session with Phi Pho, followed by a live session with Sinzere & The Late Nights! // Stay Fresh Y\'all!!',
}
}
def _real_extract(self, url):
episode_id = self._match_id(url)
webpage = self._download_webpage(url, episode_id)
title = self._search_regex(
r'<button[^>]+data-showname=(["\'])(?P<title>(?!\1).+?)\1[^>]*>', webpage, 'title', group='title')
description = self._html_search_regex(
r'<p>(?P<description>.+?)</p>', webpage, 'description', fatal=False)
formats = [{
'url': self._search_regex(
r'<button[^>]+data-audio-src=(["\'])(?P<audio_url>(?!\1).+?)\1[^>]*>', webpage, 'audio_url', group='audio_url'),
'ext': 'mp3',
'vcodec': 'none',
}]
return {
'id': episode_id,
'title': title,
'description': description,
'formats': formats,
}

View File

@ -185,6 +185,7 @@ from .chirbit import (
ChirbitProfileIE, ChirbitProfileIE,
) )
from .cinchcast import CinchcastIE from .cinchcast import CinchcastIE
from .cjsw import CJSWIE
from .clipfish import ClipfishIE from .clipfish import ClipfishIE
from .cliphunter import CliphunterIE from .cliphunter import CliphunterIE
from .cliprs import ClipRsIE from .cliprs import ClipRsIE