From 8361d874d76c8b755e3aed537f022fe61f48f31b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Tue, 29 Oct 2019 16:23:20 +0100 Subject: [PATCH] [hitomi] fix extraction --- gallery_dl/extractor/hitomi.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/gallery_dl/extractor/hitomi.py b/gallery_dl/extractor/hitomi.py index 9e0b0fd6..3f1c965d 100644 --- a/gallery_dl/extractor/hitomi.py +++ b/gallery_dl/extractor/hitomi.py @@ -11,6 +11,7 @@ from .common import GalleryExtractor from .. import text, util import string +import json class HitomiGalleryExtractor(GalleryExtractor): @@ -86,25 +87,19 @@ class HitomiGalleryExtractor(GalleryExtractor): # see https://ltn.hitomi.la/common.js offset = text.parse_int(self.gallery_id[-1]) % 3 subdomain = chr(97 + offset) + "a" - base = "https://" + subdomain + ".hitomi.la/galleries/" + base = "https://{}.hitomi.la/galleries/{}/".format( + subdomain, self.gallery_id) # set Referer header before image downloads (#239) self.session.headers["Referer"] = self.gallery_url - # handle Game CG galleries with scenes (#321) - scenes = text.extract(page, "var scene_indexes = [", "]")[0] - if scenes and scenes.strip(): - url = "{}/reader/{}.html".format(self.root, self.gallery_id) - page = self.request(url).text - begin, end = ">//g.hitomi.la/galleries/", "" - elif self.fallback: - begin, end = ">//g.hitomi.la/galleries/", "" - else: - begin, end = "'//tn.hitomi.la/smalltn/", ".jpg'," + # get 'galleryinfo' + url = "https://ltn.hitomi.la/galleries/{}.js".format(self.gallery_id) + page = self.request(url).text return [ - (base + urlpart, None) - for urlpart in text.extract_iter(page, begin, end) + (base + image["name"], None) + for image in json.loads(page.partition("=")[2]) ] @staticmethod