aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor
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 /youtube_dl/extractor
parent922ab7840b01bd108887849063572cffa855cdc1 (diff)
[xhamster] Capture and output videoClosed error (#12263)
Diffstat (limited to 'youtube_dl/extractor')
-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="(.+?)"',