[extractor/generic] Add support for squarespace embeds (closes #21294)
authorBarbara Miller <galgeek@me.com>
Mon, 22 Jul 2019 21:09:21 +0000 (14:09 -0700)
committerSergey M․ <dstftw@gmail.com>
Sat, 31 Aug 2019 18:25:48 +0000 (01:25 +0700)
youtube_dl/extractor/generic.py

index d34fc4b15ceda2d154e0f7bee163321430c599c2..7dd2e2d5f893aea7d8862510c3d52e6871b5c1bd 100644 (file)
@@ -2075,6 +2075,17 @@ class GenericIE(InfoExtractor):
             },
             'playlist_count': 6,
         },
+        {
+            # Squarespace video embed, 2019-08-28
+            'url': 'http://ootboxford.com',
+            'info_dict': {
+                'id': 'Tc7b_JGdZfw',
+                'title': 'Out of the Blue, at Childish Things 10',
+            },
+            'params': {
+                'skip_download': True,
+            },
+        },
         {
             # Zype embed
             'url': 'https://www.cookscountry.com/episode/554-smoky-barbecue-favorites',
@@ -2395,6 +2406,13 @@ class GenericIE(InfoExtractor):
         # Unescaping the whole page allows to handle those cases in a generic way
         webpage = compat_urllib_parse_unquote(webpage)
 
+        # unescape re.sub replacement
+        def unescape_resub(m):
+            return unescapeHTML(m.group(0))
+
+        # unescape squarespace video embeds
+        webpage = re.sub(r'<div[^>]+class=[^>]*?sqs-video-wrapper[^>]*>', unescape_resub, webpage)
+
         # it's tempting to parse this further, but you would
         # have to take into account all the variations like
         #   Video Title - Site Name