summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2017-02-25 20:38:21 +0700
committerSergey M․ <dstftw@gmail.com>2017-02-25 20:38:21 +0700
commit103f8c8d36170d5cb489420db0e8fe383b1f93dc (patch)
tree9076f59ad55bf8261401288977206a721e252277
parent922ab7840b01bd108887849063572cffa855cdc1 (diff)
downloadyoutube-dl-103f8c8d36170d5cb489420db0e8fe383b1f93dc.tar.gz
youtube-dl-103f8c8d36170d5cb489420db0e8fe383b1f93dc.tar.xz
youtube-dl-103f8c8d36170d5cb489420db0e8fe383b1f93dc.zip
[xhamster] Capture and output videoClosed error (#12263)
-rw-r--r--youtube_dl/extractor/xhamster.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/youtube_dl/extractor/xhamster.py b/youtube_dl/extractor/xhamster.py
index 36a8c9840..7b6703714 100644
--- a/youtube_dl/extractor/xhamster.py
+++ b/youtube_dl/extractor/xhamster.py
@@ -5,6 +5,7 @@ import re
 from .common import InfoExtractor
 from ..utils import (
     dict_get,
+    ExtractorError,
     int_or_none,
     parse_duration,
     unified_strdate,
@@ -57,6 +58,10 @@ class XHamsterIE(InfoExtractor):
     }, {
         'url': 'https://xhamster.com/movies/2272726/amber_slayed_by_the_knight.html',
         'only_matching': True,
+    }, {
+        # This video is visible for marcoalfa123456's friends only
+        'url': 'https://it.xhamster.com/movies/7263980/la_mia_vicina.html',
+        'only_matching': True,
     }]
 
     def _real_extract(self, url):
@@ -78,6 +83,12 @@ class XHamsterIE(InfoExtractor):
         mrss_url = '%s://xhamster.com/movies/%s/%s.html' % (proto, video_id, seo)
         webpage = self._download_webpage(mrss_url, video_id)
 
+        error = self._html_search_regex(
+            r'<div[^>]+id=["\']videoClosed["\'][^>]*>(.+?)</div>',
+            webpage, 'error', default=None)
+        if error:
+            raise ExtractorError(error, expected=True)
+
         title = self._html_search_regex(
             [r'<h1[^>]*>([^<]+)</h1>',
              r'<meta[^>]+itemprop=".*?caption.*?"[^>]+content="(.+?)"',