|  | @@ -12,7 +12,7 @@ from ..utils import (
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class InstagramIE(InfoExtractor):
 | 
	
		
			
				|  |  | -    _VALID_URL = r'https?://(?:www\.)?instagram\.com/p/(?P<id>[^/?#&]+)'
 | 
	
		
			
				|  |  | +    _VALID_URL = r'(?P<url>https?://(?:www\.)?instagram\.com/p/(?P<id>[^/?#&]+))'
 | 
	
		
			
				|  |  |      _TESTS = [{
 | 
	
		
			
				|  |  |          'url': 'https://instagram.com/p/aye83DjauH/?foo=bar#abc',
 | 
	
		
			
				|  |  |          'md5': '0d2da106a9d2631273e192b372806516',
 | 
	
	
		
			
				|  | @@ -38,6 +38,9 @@ class InstagramIE(InfoExtractor):
 | 
	
		
			
				|  |  |      }, {
 | 
	
		
			
				|  |  |          'url': 'https://instagram.com/p/-Cmh1cukG2/',
 | 
	
		
			
				|  |  |          'only_matching': True,
 | 
	
		
			
				|  |  | +    }, {
 | 
	
		
			
				|  |  | +        'url': 'http://instagram.com/p/9o6LshA7zy/embed/',
 | 
	
		
			
				|  |  | +        'only_matching': True,
 | 
	
		
			
				|  |  |      }]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @staticmethod
 | 
	
	
		
			
				|  | @@ -53,7 +56,9 @@ class InstagramIE(InfoExtractor):
 | 
	
		
			
				|  |  |              return mobj.group('link')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def _real_extract(self, url):
 | 
	
		
			
				|  |  | -        video_id = self._match_id(url)
 | 
	
		
			
				|  |  | +        mobj = re.match(self._VALID_URL, url)
 | 
	
		
			
				|  |  | +        video_id = mobj.group('id')
 | 
	
		
			
				|  |  | +        url = mobj.group('url')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          webpage = self._download_webpage(url, video_id)
 | 
	
		
			
				|  |  |          uploader_id = self._search_regex(r'"owner":{"username":"(.+?)"',
 |