|
|
|
@ -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()
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|