소스 검색

[generic] Make sure Wistia embed URLs contain the protocol (Closes #3977)

Also, improve detection (Addresses #3662)
Naglis Jonaitis 11 년 전
부모
커밋
9471c44405
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      youtube_dl/extractor/generic.py

+ 4 - 2
youtube_dl/extractor/generic.py

@@ -654,15 +654,17 @@ class GenericIE(InfoExtractor):
         match = re.search(
         match = re.search(
             r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//(?:fast\.)?wistia\.net/embed/iframe/.+?)\1', webpage)
             r'<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//(?:fast\.)?wistia\.net/embed/iframe/.+?)\1', webpage)
         if match:
         if match:
+            embed_url = self._proto_relative_url(
+                unescapeHTML(match.group('url')))
             return {
             return {
                 '_type': 'url_transparent',
                 '_type': 'url_transparent',
-                'url': unescapeHTML(match.group('url')),
+                'url': embed_url,
                 'ie_key': 'Wistia',
                 'ie_key': 'Wistia',
                 'uploader': video_uploader,
                 'uploader': video_uploader,
                 'title': video_title,
                 'title': video_title,
                 'id': video_id,
                 'id': video_id,
             }
             }
-        match = re.search(r'(?:id=["\']wistia_|data-wistiaid=["\']|Wistia\.embed\(["\'])(?P<id>[^"\']+)', webpage)
+        match = re.search(r'(?:id=["\']wistia_|data-wistia-?id=["\']|Wistia\.embed\(["\'])(?P<id>[^"\']+)', webpage)
         if match:
         if match:
             return {
             return {
                 '_type': 'url_transparent',
                 '_type': 'url_transparent',