[pornhub] Detect geo restriction
authorSergey M․ <dstftw@gmail.com>
Sun, 20 Jun 2021 20:33:43 +0000 (03:33 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 20 Jun 2021 20:33:43 +0000 (03:33 +0700)
youtube_dl/extractor/pornhub.py

index 10516ee5ae2b666d08a8240f7bd3660697565123..d74e69ed9141171ba0fe09916ad750fa938e4f38 100644 (file)
@@ -236,6 +236,10 @@ class PornHubIE(PornHubBaseIE):
     }, {
         'url': 'https://www.pornhubpremium.com/view_video.php?viewkey=ph5f75b0f4b18e3',
         'only_matching': True,
+    }, {
+        # geo restricted
+        'url': 'https://www.pornhub.com/view_video.php?viewkey=ph5a9813bfa7156',
+        'only_matching': True,
     }]
 
     @staticmethod
@@ -275,6 +279,11 @@ class PornHubIE(PornHubBaseIE):
                 'PornHub said: %s' % error_msg,
                 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
         # http://www.pornhub.com/view_video.php?viewkey=1331683002), not relying
         # on that anymore.