1
0
Fork 0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-11-25 19:52:11 +00:00

[instagram] Modernize

This commit is contained in:
Jaime Marquínez Ferrándiz 2014-02-10 20:24:12 +01:00
parent 2a584ea90a
commit 0de668af51

View file

@ -1,35 +1,39 @@
from __future__ import unicode_literals
import re import re
from .common import InfoExtractor from .common import InfoExtractor
class InstagramIE(InfoExtractor): class InstagramIE(InfoExtractor):
_VALID_URL = r'(?:http://)?instagram\.com/p/(.*?)/' _VALID_URL = r'http://instagram\.com/p/(?P<id>.*?)/'
_TEST = { _TEST = {
u'url': u'http://instagram.com/p/aye83DjauH/?foo=bar#abc', 'url': 'http://instagram.com/p/aye83DjauH/?foo=bar#abc',
u'file': u'aye83DjauH.mp4', 'md5': '0d2da106a9d2631273e192b372806516',
u'md5': u'0d2da106a9d2631273e192b372806516', 'info_dict': {
u'info_dict': { 'id': 'aye83DjauH',
u"uploader_id": u"naomipq", 'ext': 'mp4',
u"title": u"Video by naomipq", 'uploader_id': 'naomipq',
u'description': u'md5:1f17f0ab29bd6fe2bfad705f58de3cb8', 'title': 'Video by naomipq',
'description': 'md5:1f17f0ab29bd6fe2bfad705f58de3cb8',
} }
} }
def _real_extract(self, url): def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url) mobj = re.match(self._VALID_URL, url)
video_id = mobj.group(1) video_id = mobj.group('id')
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
uploader_id = self._search_regex(r'"owner":{"username":"(.+?)"', uploader_id = self._search_regex(r'"owner":{"username":"(.+?)"',
webpage, u'uploader id', fatal=False) webpage, 'uploader id', fatal=False)
desc = self._search_regex(r'"caption":"(.*?)"', webpage, u'description', desc = self._search_regex(r'"caption":"(.*?)"', webpage, 'description',
fatal=False) fatal=False)
return [{ return {
'id': video_id, 'id': video_id,
'url': self._og_search_video_url(webpage, secure=False), 'url': self._og_search_video_url(webpage, secure=False),
'ext': 'mp4', 'ext': 'mp4',
'title': u'Video by %s' % uploader_id, 'title': 'Video by %s' % uploader_id,
'thumbnail': self._og_search_thumbnail(webpage), 'thumbnail': self._og_search_thumbnail(webpage),
'uploader_id' : uploader_id, 'uploader_id': uploader_id,
'description': desc, 'description': desc,
}] }