1
0
mirror of https://github.com/l1ving/youtube-dl synced 2025-01-24 04:42:52 +08:00

youtube-dl convetions

This commit is contained in:
Ales Jirasek 2019-01-06 16:07:33 +01:00
commit 42daeec55f
2 changed files with 17 additions and 27 deletions

View File

@ -9,37 +9,35 @@ class MallTVIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?mall\.tv/(?:.+/)?(?P<id>.+)' _VALID_URL = r'https?://(?:www\.)?mall\.tv/(?:.+/)?(?P<id>.+)'
_TESTS = [ _TESTS = [
{ {
'url': ('https://www.mall.tv/18-miliard-pro-neziskovky' 'url': ('https://www.mall.tv/18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice'),
'-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice'),
'md5': '5235290504d20a27a19dd3915b1167b4',
'info_dict': { 'info_dict': {
'id': ('18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-' 'id': ('18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice'),
'clovek-v-tisni-pijavice'),
'ext': 'mp4', 'ext': 'mp4',
'title': ('18 miliard pro neziskovky. Opravdu jsou sportovci ' 'title': ('18 miliard pro neziskovky. Opravdu jsou sportovci nebo Člověk v tísni pijavice?'),
'nebo Člověk v tísni pijavice?'),
'description': ('Pokud někdo hospodaří s penězmi daňových ' 'description': ('Pokud někdo hospodaří s penězmi daňových '
'poplatníků, pak logicky chceme vědět, jak s ' 'poplatníků, pak logicky chceme vědět, jak s '
'nimi nakládá. Objem dotací pro neziskovky ' 'nimi nakládá. Objem dotací pro neziskovky '
'roste, ale opravdu jsou tyto organizace ' 'roste, ale opravdu jsou tyto organizace '
'„pijavice", jak o nich hovoří And') '„pijavice", jak o nich hovoří And')
}, },
'params': {
'skip_download': True
}
}, },
{ {
'url': ('https://www.mall.tv/kdo-to-plati/18-miliard-pro-neziskovky' 'url': ('https://www.mall.tv/kdo-to-plati/18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice'),
'-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice'),
'md5': '5235290504d20a27a19dd3915b1167b4',
'info_dict': { 'info_dict': {
'id': ('18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-' 'id': ('18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice'),
'clovek-v-tisni-pijavice'),
'ext': 'mp4', 'ext': 'mp4',
'title': ('18 miliard pro neziskovky. Opravdu jsou sportovci ' 'title': ('18 miliard pro neziskovky. Opravdu jsou sportovci nebo Člověk v tísni pijavice?'),
'nebo Člověk v tísni pijavice?'),
'description': ('Pokud někdo hospodaří s penězmi daňových ' 'description': ('Pokud někdo hospodaří s penězmi daňových '
'poplatníků, pak logicky chceme vědět, jak s ' 'poplatníků, pak logicky chceme vědět, jak s '
'nimi nakládá. Objem dotací pro neziskovky ' 'nimi nakládá. Objem dotací pro neziskovky '
'roste, ale opravdu jsou tyto organizace ' 'roste, ale opravdu jsou tyto organizace '
'„pijavice", jak o nich hovoří And') '„pijavice", jak o nich hovoří And')
},
'params': {
'skip_download': True
} }
}, },
] ]
@ -47,19 +45,11 @@ class MallTVIE(InfoExtractor):
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
JSON_LD_RE = (r'(?is)<script[^>]+type=([\"\'])?application/ld\+json>.*' info = self._search_json_ld(webpage, video_id, default={})
'(?P<json_ld>{.+}).*</script>')
json_ld = self._search_regex(JSON_LD_RE, webpage, 'JSON_LD',
group='json_ld')
if not json_ld:
info = {}
else:
info = self._json_ld(json_ld, video_id)
format_url = self._html_search_regex( format_url = self._html_search_regex(
r'<source src=([\"\'])?(.+index)\s', r'<source src=([\"\'])?(?P<src>.+?index)\1?[^>]*?>',
webpage, webpage, 'm3u8 URL', group='src')
'm3u8 URL')
formats = self._extract_m3u8_formats(format_url+'.m3u8', formats = self._extract_m3u8_formats(format_url+'.m3u8',
video_id, 'mp4') video_id, 'mp4')
self._sort_formats(formats) self._sort_formats(formats)

View File

@ -183,7 +183,7 @@ DATE_FORMATS_MONTH_FIRST.extend([
]) ])
PACKED_CODES_RE = r"}\('(.+)',(\d+),(\d+),'([^']+)'\.split\('\|'\)" PACKED_CODES_RE = r"}\('(.+)',(\d+),(\d+),'([^']+)'\.split\('\|'\)"
JSON_LD_RE = r'(?is)<script[^>]+type=(["\'])application/ld\+json\1[^>]*>(?P<json_ld>.+?)</script>' JSON_LD_RE = r'(?is)<script[^>]+type=(["\'])?application/ld\+json\1?[^>]*>(?P<json_ld>.+?)</script>'
def preferredencoding(): def preferredencoding():