diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-11-04 21:32:30 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-11-04 21:32:30 +0700 | 
| commit | f3c705f8ec3505240bdfbe622693c3cd2ce10857 (patch) | |
| tree | 43f6dc37f507d6a1d069d69cfd48683fb3dab587 | |
| parent | f93ac1d17571d6ddf9cfb56f0bb51bdef6a04799 (diff) | |
[fox9] Add extractor (closes #11110)
| -rw-r--r-- | youtube_dl/extractor/extractors.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/fox9.py | 43 | 
2 files changed, 44 insertions, 0 deletions
diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 499239a22..d7ad5b8fc 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -296,6 +296,7 @@ from .footyroom import FootyRoomIE  from .formula1 import Formula1IE  from .fourtube import FourTubeIE  from .fox import FOXIE +from .fox9 import FOX9IE  from .foxgay import FoxgayIE  from .foxnews import (      FoxNewsIE, diff --git a/youtube_dl/extractor/fox9.py b/youtube_dl/extractor/fox9.py new file mode 100644 index 000000000..56d9975d0 --- /dev/null +++ b/youtube_dl/extractor/fox9.py @@ -0,0 +1,43 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .anvato import AnvatoIE +from ..utils import js_to_json + + +class FOX9IE(AnvatoIE): +    _VALID_URL = r'https?://(?:www\.)?fox9\.com/(?:[^/]+/)+(?P<id>\d+)-story' +    _TESTS = [{ +        'url': 'http://www.fox9.com/news/215123287-story', +        'md5': 'd6e1b2572c3bab8a849c9103615dd243', +        'info_dict': { +            'id': '314473', +            'ext': 'mp4', +            'title': 'Bear climbs tree in downtown Duluth', +            'description': 'md5:6a36bfb5073a411758a752455408ac90', +            'duration': 51, +            'timestamp': 1478123580, +            'upload_date': '20161102', +            'uploader': 'EPFOX', +            'categories': ['News', 'Sports'], +            'tags': ['news', 'video'], +        }, +    }, { +        'url': 'http://www.fox9.com/news/investigators/214070684-story', +        'only_matching': True, +    }] + +    def _real_extract(self, url): +        video_id = self._match_id(url) + +        webpage = self._download_webpage(url, video_id) + +        video_id = self._parse_json( +            self._search_regex( +                r'AnvatoPlaylist\s*\(\s*(\[.+?\])\s*\)\s*;', +                webpage, 'anvato playlist'), +            video_id, transform_source=js_to_json)[0]['video'] + +        return self._get_anvato_videos( +            'anvato_epfox_app_web_prod_b3373168e12f423f41504f207000188daf88251b', +            video_id)  | 
