diff --git a/test/ci/test_facebook.py b/test/ci/test_facebook.py index 8910b3261..b53969c96 100644 --- a/test/ci/test_facebook.py +++ b/test/ci/test_facebook.py @@ -64,6 +64,15 @@ class facebookMetaData(unittest.TestCase): except DownloadError: self.assertRaises(DownloadError) + def test_paid_videos_timestamp(self): + params = {} + url = "https://www.facebook.com/148456285190063/videos/307226959975478" + ydl = youtube_dl.YoutubeDL(params) + info = ydl.extract_info(url, download=False) + print (info.get('timestamp')) + self.assertTrue(info.get('timestamp')) + + if __name__ == '__main__': unittest.main() diff --git a/youtube_dl/extractor/facebook.py b/youtube_dl/extractor/facebook.py index 8db50e89f..222202658 100644 --- a/youtube_dl/extractor/facebook.py +++ b/youtube_dl/extractor/facebook.py @@ -457,6 +457,9 @@ class FacebookIE(InfoExtractor): or self._search_regex(r'publish_time":([\d]+)', tahoe_data.secondary, 'timestamp', default=None) timestamp = int_or_none(regex_search_result_date_time) or int_or_none(regex_search_result_publish_time) + if timestamp is None and webpage.find('Paid Partnership') > -1: + timestamp = self._search_regex(r'"publish_time\\":(.+?),', webpage, 'timestamp', default=None, fatal=False) + uploader_id = self._resolve_uploader_id(webpage, tahoe_data) thumbnail = self._resolve_thumbnail(webpage, tahoe_data)