diff options
Diffstat (limited to 'gallery_dl/extractor/behance.py')
| -rw-r--r-- | gallery_dl/extractor/behance.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gallery_dl/extractor/behance.py b/gallery_dl/extractor/behance.py index f24059f..72f9195 100644 --- a/gallery_dl/extractor/behance.py +++ b/gallery_dl/extractor/behance.py @@ -49,7 +49,7 @@ class BehanceExtractor(Extractor): def _update(self, data): # compress data to simple lists - if data["fields"] and isinstance(data["fields"][0], dict): + if data.get("fields") and isinstance(data["fields"][0], dict): data["fields"] = [ field.get("name") or field.get("label") for field in data["fields"] @@ -165,6 +165,19 @@ class BehanceGalleryExtractor(BehanceExtractor): elif mtype == "video": try: + url = text.extr(module["embed"], 'src="', '"') + page = self.request(text.unescape(url)).text + + url = text.extr(page, '<source src="', '"') + if text.ext_from_url(url) == "m3u8": + url = "ytdl:" + url + module["extension"] = "mp4" + append((url, module)) + continue + except Exception as exc: + self.log.debug("%s: %s", exc.__class__.__name__, exc) + + try: renditions = module["videoData"]["renditions"] except Exception: self.log.warning("No download URLs for video %s", |
