diff options
Diffstat (limited to 'youtube_dl')
-rwxr-xr-x | youtube_dl/InfoExtractors.py | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 4aec8c687..507dfc324 100755 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -4552,20 +4552,28 @@ class GametrailersIE(InfoExtractor): 'description': video_description, } -class StatigrIE(InfoExtractor): +class StatigramIE(InfoExtractor): _VALID_URL = r'(?:http://)?(?:www\.)?statigr\.am/p/([^/]+)' def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) - if mobj is None: - raise ExtractorError(u'Invalid URL: %s' % url) + video_id = mobj.group(1) webpage = self._download_webpage(url, video_id) - video_url = re.search(r'<meta property="og:video:secure_url" content="(.+?)">',webpage).group(1) - thumbnail_url = re.search(r'<meta property="og:image" content="(.+?)" />',webpage).group(1) - title = (re.search(r'<title>(.+?)</title>',webpage).group(1)).strip("| Statigram") - uploader = re.search(r'@(.+) \(Videos\)',title).group(1) - ext = "mp4" + video_url = self._html_search_regex( + r'<meta property="og:video:secure_url" content="(.+?)">', + webpage, u'video URL') + thumbnail_url = self._html_search_regex( + r'<meta property="og:image" content="(.+?)" />', + webpage, u'thumbnail URL', fatal=False) + html_title = self._html_search_regex( + r'<title>(.+?)</title>', + webpage, u'title') + title = html_title.rpartition(u' | Statigram')[0] + uploader = self._html_search_regex( + r'@(.+) \(Videos\)', title, u'uploader name', fatal=False) + ext = 'mp4' + return [{ 'id': video_id, 'url': video_url, @@ -4641,7 +4649,7 @@ def gen_extractors(): HypemIE(), Vbox7IE(), GametrailersIE(), - StatigrIE(), + StatigramIE(), GenericIE() ] |