]> jfr.im git - yt-dlp.git/blame - yt_dlp/extractor/cableav.py
[LnkIE] Add extractor (#2408)
[yt-dlp.git] / yt_dlp / extractor / cableav.py
CommitLineData
1bad50ec 1# coding: utf-8
2from .common import InfoExtractor
3
4
5class CableAVIE(InfoExtractor):
6 _VALID_URL = r'https://cableav\.tv/(?P<id>[a-zA-Z0-9]+)'
7 _TESTS = [{
8 'url': 'https://cableav.tv/lS4iR9lWjN8/',
9 'md5': '7e3fe5e49d61c4233b7f5b0f69b15e18',
10 'info_dict': {
11 'id': 'lS4iR9lWjN8',
12 'ext': 'mp4',
13 'title': '國產麻豆AV 叮叮映畫 DDF001 情欲小說家 - CableAV',
14 'description': '國產AV 480p, 720p 国产麻豆AV 叮叮映画 DDF001 情欲小说家',
15 'thumbnail': r're:^https?://.*\.jpg$',
16 }
17 }]
18
19 def _real_extract(self, url):
20 video_id = self._match_id(url)
21 webpage = self._download_webpage(url, video_id)
22
23 video_url = self._og_search_video_url(webpage, secure=False)
24
25 formats = self._extract_m3u8_formats(video_url, video_id, 'mp4')
26 self._sort_formats(formats)
27
28 return {
29 'id': video_id,
30 'title': self._og_search_title(webpage),
31 'description': self._og_search_description(webpage),
32 'thumbnail': self._og_search_thumbnail(webpage),
33 'formats': formats,
34 }