diff options
author | Sergey M․ <dstftw@gmail.com> | 2017-09-03 16:38:43 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2017-09-03 16:43:33 +0700 |
commit | c1c1585b316995ca47b59e8dc1e3b463beb1c54a (patch) | |
tree | 27bd2de82a518e72fdf59d690395df68b723429b | |
parent | 0cbb841ba94c8d813ff81e817154c5491a796f20 (diff) | |
download | youtube-dl-c1c1585b316995ca47b59e8dc1e3b463beb1c54a.tar.xz |
[bpb] Improve (closes #14086)
-rw-r--r-- | youtube_dl/extractor/bpb.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/youtube_dl/extractor/bpb.py b/youtube_dl/extractor/bpb.py index 14bc0f77d..07833532e 100644 --- a/youtube_dl/extractor/bpb.py +++ b/youtube_dl/extractor/bpb.py @@ -33,13 +33,18 @@ class BpbIE(InfoExtractor): title = self._html_search_regex( r'<h2 class="white">(.*?)</h2>', webpage, 'title') video_info_dicts = re.findall( - r"({\s*src\s*:\s*'https://film\.bpb\.de/[^}]+})", webpage) + r"({\s*src\s*:\s*'https?://film\.bpb\.de/[^}]+})", webpage) formats = [] for video_info in video_info_dicts: - video_info = self._parse_json(video_info, video_id, transform_source=js_to_json) - video_url = video_info['src'] - quality = 'high' if re.search(r'_high\.', video_url) else 'low' + video_info = self._parse_json( + video_info, video_id, transform_source=js_to_json, fatal=False) + if not video_info: + continue + video_url = video_info.get('src') + if not video_url: + continue + quality = 'high' if '_high' in video_url else 'low' formats.append({ 'url': video_url, 'preference': 10 if quality == 'high' else 0, |