瀏覽代碼

[pornhub] Detect geo restriction

Sergey M․ 4 年之前
父節點
當前提交
751c9ae39a
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      youtube_dl/extractor/pornhub.py

+ 9 - 0
youtube_dl/extractor/pornhub.py

@@ -236,6 +236,10 @@ class PornHubIE(PornHubBaseIE):
     }, {
     }, {
         'url': 'https://www.pornhubpremium.com/view_video.php?viewkey=ph5f75b0f4b18e3',
         'url': 'https://www.pornhubpremium.com/view_video.php?viewkey=ph5f75b0f4b18e3',
         'only_matching': True,
         'only_matching': True,
+    }, {
+        # geo restricted
+        'url': 'https://www.pornhub.com/view_video.php?viewkey=ph5a9813bfa7156',
+        'only_matching': True,
     }]
     }]
 
 
     @staticmethod
     @staticmethod
@@ -275,6 +279,11 @@ class PornHubIE(PornHubBaseIE):
                 'PornHub said: %s' % error_msg,
                 'PornHub said: %s' % error_msg,
                 expected=True, video_id=video_id)
                 expected=True, video_id=video_id)
 
 
+        if any(re.search(p, webpage) for p in (
+                r'class=["\']geoBlocked["\']',
+                r'>\s*This content is unavailable in your country')):
+            self.raise_geo_restricted()
+
         # video_title from flashvars contains whitespace instead of non-ASCII (see
         # video_title from flashvars contains whitespace instead of non-ASCII (see
         # http://www.pornhub.com/view_video.php?viewkey=1331683002), not relying
         # http://www.pornhub.com/view_video.php?viewkey=1331683002), not relying
         # on that anymore.
         # on that anymore.