This commit is contained in:
Negligence 2020-10-22 23:55:10 +08:00 committed by GitHub
commit 2561bc8d21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 0 deletions

View File

@ -483,6 +483,7 @@
- **Mgoon**
- **MGTV**: 芒果TV
- **MiaoPai**
- **Mildom**: mildom.com
- **MinistryGrid**
- **Minoto**
- **miomio.tv**

View File

@ -623,6 +623,7 @@ from .microsoftvirtualacademy import (
MicrosoftVirtualAcademyIE,
MicrosoftVirtualAcademyCourseIE,
)
from .mildom import MildomIE
from .ministrygrid import MinistryGridIE
from .minoto import MinotoIE
from .miomio import MioMioIE

View File

@ -0,0 +1,57 @@
# coding: utf-8
from __future__ import unicode_literals
import re
from .common import InfoExtractor
from ..compat import compat_str
from ..utils import try_get
class MildomIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?mildom\.com/playback/(?P<channel>[0-9]+)\?v_id=(?P<id>[-0-9]+)'
_VIDEO_INFO_BASE_URL = 'https://cloudac.mildom.com/nonolive/videocontent/playback/getPlaybackDetail?v_id=%s'
_TEST = {
'url': 'https://www.mildom.com/playback/10819667?v_id=10819667-1594032863',
'md5': 'bed067a7dff3492184bd06d6131dd8be',
'info_dict': {
'id': '10819667-1594032863',
'ext': 'mp4',
'title': '月曜!雀荘ほめちぎり #1 【麻雀】',
'thumbnail': r're:^https?://.*\.png$',
'description': '#1 記念すべき初回の出演者は声優の高木美佑さんとVtuber界の麻雀つよつよ先生こと千羽黒乃さん\nMildom公式番組『麻雀番組』毎週月曜に生放送\n麻雀アプリも使った視聴者対戦型麻雀バラエティ!',
'uploader': '月曜!雀荘ほめちぎり【麻雀】'
}
}
def _real_extract(self, url):
channel_id, video_id = re.match(self._VALID_URL, url).groups()
video_data = self._download_json(
self._VIDEO_INFO_BASE_URL % video_id, video_id)
playback_data = video_data['body']['playback']
video_url = playback_data['source_url']
description = playback_data.get('video_intro')
uploader = try_get(playback_data, lambda x: x['author_info']['login_name'], compat_str)
title = playback_data.get('title')
thumbnail = playback_data.get('video_pic')
if not title or not thumbnail:
webpage = self._download_webpage(url, video_id)
if not title:
title = self._html_search_meta(
['og:description', 'description'],
webpage, 'title', default=None)
if not thumbnail:
thumbnail = self._og_search_thumbnail(webpage, default=None)
return {
'id': video_id,
'title': title,
'url': video_url,
'uploader': uploader,
'channel_id': channel_id,
'thumbnail': thumbnail,
'description': description
}