[facebook:post] Add extractor (Closes #8321)
This commit is contained in:
		
							parent
							
								
									2e6e742c3c
								
							
						
					
					
						commit
						de691a498d
					
				| @ -196,7 +196,10 @@ from .everyonesmixtape import EveryonesMixtapeIE | |||||||
| from .exfm import ExfmIE | from .exfm import ExfmIE | ||||||
| from .expotv import ExpoTVIE | from .expotv import ExpoTVIE | ||||||
| from .extremetube import ExtremeTubeIE | from .extremetube import ExtremeTubeIE | ||||||
| from .facebook import FacebookIE | from .facebook import ( | ||||||
|  |     FacebookIE, | ||||||
|  |     FacebookPostIE, | ||||||
|  | ) | ||||||
| from .faz import FazIE | from .faz import FazIE | ||||||
| from .fc2 import FC2IE | from .fc2 import FC2IE | ||||||
| from .fczenit import FczenitIE | from .fczenit import FczenitIE | ||||||
|  | |||||||
| @ -199,3 +199,33 @@ class FacebookIE(InfoExtractor): | |||||||
|             'formats': formats, |             'formats': formats, | ||||||
|             'uploader': uploader, |             'uploader': uploader, | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class FacebookPostIE(InfoExtractor): | ||||||
|  |     IE_NAME = 'facebook:post' | ||||||
|  |     _VALID_URL = r'https?://(?:\w+\.)?facebook\.com/[^/]+/posts/(?P<id>\d+)' | ||||||
|  |     _TEST = { | ||||||
|  |         'url': 'https://www.facebook.com/maxlayn/posts/10153807558977570', | ||||||
|  |         'md5': '037b1fa7f3c2d02b7a0d7bc16031ecc6', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': '544765982287235', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'title': '"What are you doing running in the snow?"', | ||||||
|  |             'uploader': 'FailArmy', | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         post_id = self._match_id(url) | ||||||
|  | 
 | ||||||
|  |         webpage = self._download_webpage(url, post_id) | ||||||
|  | 
 | ||||||
|  |         entries = [ | ||||||
|  |             self.url_result('facebook:%s' % video_id, FacebookIE.ie_key()) | ||||||
|  |             for video_id in self._parse_json( | ||||||
|  |                 self._search_regex( | ||||||
|  |                     r'(["\'])video_ids\1\s*:\s*(?P<ids>\[.+?\])', | ||||||
|  |                     webpage, 'video ids', group='ids'), | ||||||
|  |                 post_id)] | ||||||
|  | 
 | ||||||
|  |         return self.playlist_result(entries, post_id) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user