aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-11-04 21:32:30 +0700
committerSergey M․ <dstftw@gmail.com>2016-11-04 21:32:30 +0700
commitf3c705f8ec3505240bdfbe622693c3cd2ce10857 (patch)
tree43f6dc37f507d6a1d069d69cfd48683fb3dab587
parentf93ac1d17571d6ddf9cfb56f0bb51bdef6a04799 (diff)
[fox9] Add extractor (closes #11110)
-rw-r--r--youtube_dl/extractor/extractors.py1
-rw-r--r--youtube_dl/extractor/fox9.py43
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)