Przeglądaj źródła

[facebook] Report a more meaningful message if the video cannot be accessed (closes #1658)

Jaime Marquínez Ferrándiz 12 lat temu
rodzic
commit
6f71ef580c
1 zmienionych plików z 6 dodań i 1 usunięć
  1. 6 1
      youtube_dl/extractor/facebook.py

+ 6 - 1
youtube_dl/extractor/facebook.py

@@ -100,7 +100,12 @@ class FacebookIE(InfoExtractor):
         AFTER = '.forEach(function(variable) {swf.addVariable(variable[0], variable[1]);});'
         m = re.search(re.escape(BEFORE) + '(.*?)' + re.escape(AFTER), webpage)
         if not m:
-            raise ExtractorError(u'Cannot parse data')
+            m_msg = re.search(r'class="[^"]*uiInterstitialContent[^"]*"><div>(.*?)</div>', webpage)
+            if m_msg is not None:
+                err_msg = u'The video is not available, Facebook said: "%s"' % m_msg.group(1)
+            else:
+                err_msg = u'Cannot parse data'
+            raise ExtractorError(err_msg)
         data = dict(json.loads(m.group(1)))
         params_raw = compat_urllib_parse.unquote(data['params'])
         params = json.loads(params_raw)