X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fsohu.py;h=eab4adfca46f3686ac7d23ca581681e56d5066f1;hb=12675275a1d2158fbe409361888569e4cb52ef07;hp=ef7ec51df4c857ca5cb4628c850b9f6f227d4587;hpb=5ee6fc974e617ce2f8d9d62c416091a1daa6d802;p=youtube-dl diff --git a/youtube_dl/extractor/sohu.py b/youtube_dl/extractor/sohu.py index ef7ec51df..eab4adfca 100644 --- a/youtube_dl/extractor/sohu.py +++ b/youtube_dl/extractor/sohu.py @@ -4,8 +4,11 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..utils import compat_str -from ..compat import compat_urllib_request +from ..compat import ( + compat_str, + compat_urllib_request +) +from ..utils import ExtractorError class SohuIE(InfoExtractor): @@ -25,7 +28,7 @@ class SohuIE(InfoExtractor): } }, { 'url': 'http://tv.sohu.com/20150305/n409385080.shtml', - 'md5': '699060e75cf58858dd47fb9c03c42cfb', + 'md5': 'ac9a5d322b4bf9ae184d53e4711e4f1a', 'info_dict': { 'id': '409385080', 'ext': 'mp4', @@ -33,12 +36,55 @@ class SohuIE(InfoExtractor): } }, { 'url': 'http://my.tv.sohu.com/us/232799889/78693464.shtml', - 'md5': '9bf34be48f2f4dadcb226c74127e203c', + 'md5': '49308ff6dafde5ece51137d04aec311e', 'info_dict': { 'id': '78693464', 'ext': 'mp4', 'title': 'ãç±èåã第31æï¼MWCè§ä¸å°çå¥è©ææº', } + }, { + 'note': 'Multipart video', + 'url': 'http://my.tv.sohu.com/pl/8384802/78910339.shtml', + 'info_dict': { + 'id': '78910339', + 'title': 'ãç¥æ¢èå®æç§ç±ã第13æ æäºä¹å½± 赫å¡éå§', + }, + 'playlist': [{ + 'md5': '492923eac023ba2f13ff69617c32754a', + 'info_dict': { + 'id': '78910339_part1', + 'ext': 'mp4', + 'duration': 294, + 'title': 'ãç¥æ¢èå®æç§ç±ã第13æ æäºä¹å½± 赫å¡éå§', + } + }, { + 'md5': 'de604848c0e8e9c4a4dde7e1347c0637', + 'info_dict': { + 'id': '78910339_part2', + 'ext': 'mp4', + 'duration': 300, + 'title': 'ãç¥æ¢èå®æç§ç±ã第13æ æäºä¹å½± 赫å¡éå§', + } + }, { + 'md5': '93584716ee0657c0b205b8aa3d27aa13', + 'info_dict': { + 'id': '78910339_part3', + 'ext': 'mp4', + 'duration': 150, + 'title': 'ãç¥æ¢èå®æç§ç±ã第13æ æäºä¹å½± 赫å¡éå§', + } + }] + }, { + 'note': 'Video with title containing dash', + 'url': 'http://my.tv.sohu.com/us/249884221/78932792.shtml', + 'info_dict': { + 'id': '78932792', + 'ext': 'mp4', + 'title': 'youtube-dl testing video', + }, + 'params': { + 'skip_download': True + } }] def _real_extract(self, url): @@ -55,23 +101,31 @@ class SohuIE(InfoExtractor): if cn_verification_proxy: req.add_header('Ytdl-request-proxy', cn_verification_proxy) - return self._download_json(req, video_id, - 'Downloading JSON data for %s' % vid_id) + return self._download_json( + req, video_id, + 'Downloading JSON data for %s' % vid_id) mobj = re.match(self._VALID_URL, url) video_id = mobj.group('id') mytv = mobj.group('mytv') is not None webpage = self._download_webpage(url, video_id) - raw_title = self._html_search_regex( - r'(?s)