summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/behance.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/behance.py')
-rw-r--r--gallery_dl/extractor/behance.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/gallery_dl/extractor/behance.py b/gallery_dl/extractor/behance.py
index a817174..b081cc9 100644
--- a/gallery_dl/extractor/behance.py
+++ b/gallery_dl/extractor/behance.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-# Copyright 2018-2019 Mike Fährmann
+# Copyright 2018-2021 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -83,6 +83,11 @@ class BehanceGalleryExtractor(BehanceExtractor):
"count": 20,
"url": "6bebff0d37f85349f9ad28bd8b76fd66627c1e2f",
}),
+ # 'video' modules (#1282)
+ ("https://www.behance.net/gallery/101185577/COLCCI", {
+ "pattern": r"ytdl:https://adobeprod-a\.akamaihd\.net/",
+ "count": 3,
+ }),
)
def __init__(self, match):
@@ -120,8 +125,7 @@ class BehanceGalleryExtractor(BehanceExtractor):
page, 'id="beconfig-store_state">', '</script>')[0])
return self._update(data["project"]["project"])
- @staticmethod
- def get_images(data):
+ def get_images(self, data):
"""Extract image results from an API response"""
result = []
append = result.append
@@ -133,6 +137,13 @@ class BehanceGalleryExtractor(BehanceExtractor):
url = module["sizes"]["original"]
append((url, module))
+ elif mtype == "video":
+ page = self.request(module["src"]).text
+ url = text.extract(page, '<source src="', '"')[0]
+ if text.ext_from_url(url) == "m3u8":
+ url = "ytdl:" + url
+ append((url, module))
+
elif mtype == "media_collection":
for component in module["components"]:
url = component["sizes"]["source"]