[facebook] Fix for m.facebook.com URLs
authorYen Chi Hsuan <yan12125@gmail.com>
Thu, 10 Mar 2016 06:58:05 +0000 (14:58 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Thu, 10 Mar 2016 06:59:30 +0000 (14:59 +0800)
youtube_dl/extractor/facebook.py

index 23a6fcd88b6ffef90f3ce0fcdf7fe6abd770ca90..b354c5521852c2f78a18f83a70b3b473839a84f2 100644 (file)
@@ -93,6 +93,15 @@ class FacebookIE(InfoExtractor):
             'title': '"What are you doing running in the snow?"',
             'uploader': 'FailArmy',
         }
+    }, {
+        'url': 'https://m.facebook.com/story.php?story_fbid=1035862816472149&id=116132035111903',
+        'md5': '1deb90b6ac27f7efcf6d747c8a27f5e3',
+        'info_dict': {
+            'id': '1035862816472149',
+            'ext': 'mp4',
+            'title': 'What the Flock Is Going On In New Zealand  Credit: ViralHog',
+            'uploader': 'S. Saint',
+        },
     }, {
         'url': 'https://www.facebook.com/video.php?v=10204634152394104',
         'only_matching': True,
@@ -105,9 +114,6 @@ class FacebookIE(InfoExtractor):
     }, {
         'url': 'facebook:544765982287235',
         'only_matching': True,
-    }, {
-        'url': 'https://m.facebook.com/story.php?story_fbid=1035862816472149&id=116132035111903',
-        'only_matching': True,
     }]
 
     def _login(self):
@@ -200,7 +206,7 @@ class FacebookIE(InfoExtractor):
 
         if not video_data:
             server_js_data = self._parse_json(self._search_regex(
-                r'handleServerJS\(({.+})\);', webpage, 'server js data'), video_id)
+                r'handleServerJS\(({.+})\);', webpage, 'server js data', default='{}'), video_id)
             for item in server_js_data.get('instances', []):
                 if item[1][0] == 'VideoConfig':
                     video_data = video_data_list2dict(item[2][0]['videoData'])