Modify extractor according to suggestions
This commit is contained in:
parent
a9a4d68364
commit
6a9848f94a
@ -1,10 +1,13 @@
|
|||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import json
|
|
||||||
|
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from ..utils import unified_timestamp, parse_duration
|
from ..utils import (
|
||||||
|
parse_duration,
|
||||||
|
traverse_obj,
|
||||||
|
unified_timestamp,
|
||||||
|
url_or_none,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ChelseafcIE(InfoExtractor):
|
class ChelseafcIE(InfoExtractor):
|
||||||
@ -56,25 +59,25 @@ class ChelseafcIE(InfoExtractor):
|
|||||||
'data'
|
'data'
|
||||||
)
|
)
|
||||||
|
|
||||||
data = json.loads(raw_data)['videoDetail']
|
data = self._parse_json(raw_data, video_id)
|
||||||
|
manifest_url = data['videoDetail']['signedUrl']
|
||||||
|
|
||||||
manifest_url = data['signedUrl']
|
data = data['videoDetail']
|
||||||
formats = self._extract_m3u8_formats(manifest_url, video_id, 'mp4')
|
|
||||||
|
|
||||||
title = data['title']
|
title = data['title']
|
||||||
descripiton = data['description']
|
|
||||||
timestamp = unified_timestamp(data['releaseDate'])
|
formats = self._extract_m3u8_formats(manifest_url, video_id, 'mp4')
|
||||||
duration = parse_duration(data['duration'])
|
self._sort_formats(formats)
|
||||||
tags = [tag['title'] for tag in data['tags']]
|
|
||||||
thumbnail = data['image']['file']['url']
|
txt_or_none = lambda x: x.strip() or None
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': title,
|
'title': title,
|
||||||
'description': descripiton,
|
'description': txt_or_none(data.get('description')),
|
||||||
'formats': formats,
|
'formats': formats,
|
||||||
'duration': duration,
|
'duration': parse_duration(data.get('duration')),
|
||||||
'timestamp': timestamp,
|
'timestamp': unified_timestamp(data.get('releaseDate')),
|
||||||
'tags': tags,
|
'tags': traverse_obj(data, ('tags', Ellipsis, 'title'), expected_type=txt_or_none),
|
||||||
'thumbnail': thumbnail
|
'thumbnail': traverse_obj(data, ('image', 'file', 'url'), expected_type=url_or_none),
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user