about summary refs log tree commit diff
path: root/youtube_dl/extractor/niconico.py
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2015-04-30 17:05:02 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2015-04-30 17:05:02 +0800
commit621ffe7bf420aa1a227e823edf2f1acbc67660d0 (patch)
tree8846bc1355106febdcd978b76f4fde176f475bb8 /youtube_dl/extractor/niconico.py
parent965cb8d530e4ced61a9bc42530f7f91b67c709e6 (diff)
downloadyoutube-dl-621ffe7bf420aa1a227e823edf2f1acbc67660d0.tar.gz
youtube-dl-621ffe7bf420aa1a227e823edf2f1acbc67660d0.tar.xz
youtube-dl-621ffe7bf420aa1a227e823edf2f1acbc67660d0.zip
[niconico] Fix so* video extraction (fixes #4874) (#2087)
Diffstat (limited to 'youtube_dl/extractor/niconico.py')
-rw-r--r--youtube_dl/extractor/niconico.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/youtube_dl/extractor/niconico.py b/youtube_dl/extractor/niconico.py
index dd16d0042..3cecebf95 100644
--- a/youtube_dl/extractor/niconico.py
+++ b/youtube_dl/extractor/niconico.py
@@ -67,6 +67,18 @@ class NiconicoIE(InfoExtractor):
             'timestamp': 1198527840,  # timestamp field has different value if logged in
             'duration': 304,
         },
+    }, {
+        'url': 'http://www.nicovideo.jp/watch/so22543406',
+        'info_dict': {
+            'id': '1388129933',
+            'ext': 'mp4',
+            'title': '【第1回】RADIOアニメロミックス ラブライブ!~のぞえりRadio Garden~',
+            'description': 'md5:b27d224bb0ff53d3c8269e9f8b561cf1',
+            'timestamp': 1388851200,
+            'upload_date': '20140104',
+            'uploader': 'アニメロチャンネル',
+            'uploader_id': '312',
+        }
     }]
 
     _VALID_URL = r'https?://(?:www\.|secure\.)?nicovideo\.jp/watch/(?P<id>(?:[a-z]{2})?[0-9]+)'
@@ -109,7 +121,10 @@ class NiconicoIE(InfoExtractor):
         # Get video webpage. We are not actually interested in it for normal
         # cases, but need the cookies in order to be able to download the
         # info webpage
-        webpage = self._download_webpage('http://www.nicovideo.jp/watch/' + video_id, video_id)
+        webpage, handle = self._download_webpage_handle(
+            'http://www.nicovideo.jp/watch/' + video_id, video_id)
+        if video_id.startswith('so'):
+            video_id = self._match_id(handle.geturl())
 
         video_info = self._download_xml(
             'http://ext.nicovideo.jp/api/getthumbinfo/' + video_id, video_id,