[noodlemagazine] Add extractor (#2293)

Authored by: trassshhub
pull/2294/head^2
trasssh 2022-01-11 01:13:09 +08:00 zatwierdzone przez GitHub
rodzic faca674510
commit e88e1febd8
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 68 dodań i 0 usunięć

Wyświetl plik

@ -989,6 +989,7 @@ from .nitter import NitterIE
from .njpwworld import NJPWWorldIE
from .nobelprize import NobelPrizeIE
from .nonktube import NonkTubeIE
from .noodlemagazine import NoodleMagazineIE
from .noovo import NoovoIE
from .normalboots import NormalbootsIE
from .nosvideo import NosVideoIE

Wyświetl plik

@ -0,0 +1,67 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
parse_duration,
parse_count,
unified_strdate
)
class NoodleMagazineIE(InfoExtractor):
_VALID_URL = r'https?://(?:www|adult\.)?noodlemagazine\.com/watch/(?P<id>[0-9-_]+)'
_TEST = {
'url': 'https://adult.noodlemagazine.com/watch/-67421364_456239604',
'md5': '9e02aa763612929d0b4b850591a9248b',
'info_dict': {
'id': '-67421364_456239604',
'title': 'Aria alexander manojob',
'thumbnail': r're:^https://.*\.jpg',
'ext': 'mp4',
'duration': 903,
'view_count': int,
'like_count': int,
'description': 'Aria alexander manojob',
'tags': ['aria', 'alexander', 'manojob'],
'upload_date': '20190218',
'age_limit': 18
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
title = self._og_search_title(webpage)
duration = parse_duration(self._html_search_meta('video:duration', webpage, 'duration', default=None))
description = self._og_search_property('description', webpage, default='').replace(' watch online hight quality video', '')
tags = self._html_search_meta('video:tag', webpage, default='').split(', ')
view_count = parse_count(self._html_search_meta('ya:ovs:views_total', webpage, default=None))
like_count = parse_count(self._html_search_meta('ya:ovs:likes', webpage, default=None))
upload_date = unified_strdate(self._html_search_meta('ya:ovs:upload_date', webpage, default=''))
key = self._html_search_regex(rf'/{video_id}\?(?:.*&)?m=([^&"\'\s,]+)', webpage, 'key')
playlist_info = self._download_json(f'https://adult.noodlemagazine.com/playlist/{video_id}?m={key}', video_id)
thumbnail = self._og_search_property('image', webpage, default=None) or playlist_info.get('image')
formats = [{
'url': source.get('file'),
'quality': source.get('label'),
'ext': source.get('type'),
} for source in playlist_info.get('sources')]
self._sort_formats(formats)
return {
'id': video_id,
'formats': formats,
'title': title,
'thumbnail': thumbnail,
'duration': duration,
'description': description,
'tags': tags,
'view_count': view_count,
'like_count': like_count,
'upload_date': upload_date,
'age_limit': 18
}