mirror of
https://github.com/ytdl-org/youtube-dl
synced 2024-12-23 04:30:10 +09:00
[RCTIplus] Add new extractor
This commit is contained in:
parent
9c9b458145
commit
f240f46f7c
@ -960,6 +960,7 @@ from .raywenderlich import (
|
||||
RayWenderlichCourseIE,
|
||||
)
|
||||
from .rbmaradio import RBMARadioIE
|
||||
from .rcti import RCTIplusIE
|
||||
from .rds import RDSIE
|
||||
from .redbulltv import (
|
||||
RedBullTVIE,
|
||||
|
40
youtube_dl/extractor/rcti.py
Normal file
40
youtube_dl/extractor/rcti.py
Normal file
@ -0,0 +1,40 @@
|
||||
# coding: utf-8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from .common import InfoExtractor
|
||||
|
||||
|
||||
class RCTIplusIE(InfoExtractor):
|
||||
IE_NAME = 'RCTIplus'
|
||||
_VALID_URL = r'https://www\.rctiplus\.com/programs/\d+?/.*?/episode/(?P<id>\d+)/.*'
|
||||
_TEST = {
|
||||
'url': 'https://www.rctiplus.com/programs/540/upin-ipin/episode/5642/esok-puasa-upin-ipin-ep1',
|
||||
'md5': 'e9b7c88101aab04d9115e2718dae7260',
|
||||
'info_dict': {
|
||||
'id': '5642',
|
||||
'title': 'Esok Puasa - Upin & Ipin Ep.1',
|
||||
'ext': 'm3u8',
|
||||
}
|
||||
}
|
||||
|
||||
def _real_extract(self, url):
|
||||
video_id = self._match_id(url)
|
||||
webpage = self._download_webpage(url, video_id)
|
||||
title = self._og_search_title(webpage)
|
||||
|
||||
auth_key = self._search_regex(
|
||||
r'\'Authorization\':"(?P<auth>[^"]+)"', webpage, 'auth-key')
|
||||
request_url = ('https://api.rctiplus.com/api/v1/episode/' + video_id
|
||||
+ '/url?appierid=.1')
|
||||
json = self._download_json(
|
||||
request_url, video_id, headers={'Authorization': auth_key})
|
||||
video_url = json.get('data').get('url')
|
||||
|
||||
formats = self._extract_m3u8_formats(video_url, video_id)
|
||||
self._sort_formats(formats)
|
||||
|
||||
return {
|
||||
'id': video_id,
|
||||
'title': title,
|
||||
'formats': formats,
|
||||
}
|
Loading…
Reference in New Issue
Block a user