1
1
mirror of https://github.com/ytdl-org/youtube-dl synced 2024-12-04 18:23:06 +01:00

[alaa] Add new extractor

This commit is contained in:
mimvahedi 2023-12-12 17:13:47 +03:30
parent be008e657d
commit c58afad362
2 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,52 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
int_or_none,
url_or_none,
parse_filesize,
parse_duration,
)
class AlaaIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?alaatv\.com/c/(?P<id>[0-9]+)'
_TEST = {
'url': 'https://alaatv.com/c/19680',
'info_dict': {
'id': '19680',
'ext': 'mp4',
'title': 'مجموعه، الگو و دنباله (قسمت ششم)، تست های 48 الی 55',
'thumbnail': 'https://nodes.alaatv.com/media/thumbnails/582/582070sevt.jpg',
'duration': 1800
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
video_details = self._download_json('https://alaatv.com/api/v2/c/{0}'.format(video_id), video_id)
video_details = video_details['data']
video_image = video_details.get('photo')
def map_formats(v):
return {
"url": v.get("link"),
"filesize": parse_filesize(v.get("size")),
"format_id": v.get("res"),
"ext": v.get("ext"),
}
formats = list(map(map_formats, video_details['file']['video']))
return {
'id': video_id,
'title': video_details['title'],
'formats': formats,
'thumbnail': url_or_none(video_image),
'duration': int_or_none(parse_duration(video_details.get('duration') + ":00"))
}

View File

@ -39,6 +39,7 @@ from .aenetworks import (
from .afreecatv import AfreecaTVIE from .afreecatv import AfreecaTVIE
from .airmozilla import AirMozillaIE from .airmozilla import AirMozillaIE
from .aljazeera import AlJazeeraIE from .aljazeera import AlJazeeraIE
from .alaa import AlaaIE
from .alphaporno import AlphaPornoIE from .alphaporno import AlphaPornoIE
from .amara import AmaraIE from .amara import AmaraIE
from .amcnetworks import AMCNetworksIE from .amcnetworks import AMCNetworksIE