From 0e8ada1eff8799437c9be1bc2af10d6198fa8cad Mon Sep 17 00:00:00 2001 From: jwansek Date: Tue, 29 Apr 2025 18:51:40 +0100 Subject: Added inline HTML into blogposts, refactored a bit --- downloader.py | 54 ------------------------------------------------------ 1 file changed, 54 deletions(-) delete mode 100755 downloader.py (limited to 'downloader.py') diff --git a/downloader.py b/downloader.py deleted file mode 100755 index 4b2af2f..0000000 --- a/downloader.py +++ /dev/null @@ -1,54 +0,0 @@ -from dataclasses import dataclass -from lxml import html -import requests -import shutil -import urllib -import os - -@dataclass -class CompressedImages: - nhentai_id: int - - def __enter__(self): - self.folderpath = os.path.join("static", str(self.nhentai_id)) - self.zippath = os.path.join("static", "zips", "%i.zip" % self.nhentai_id) - os.mkdir(self.folderpath) - - self.num_downloaded = self.download_images("https://nhentai.net/g/%i" % self.nhentai_id, self.folderpath, "nhentai.net") - - shutil.make_archive(self.zippath[:-4], "zip", self.folderpath) - - return self.zippath - - def __exit__(self, type, value, traceback): - # os.remove(self.zippath) - shutil.rmtree(self.folderpath) - - def download_images(self, url:str, out:str, domain:str) -> int: - tree = html.fromstring(requests.get(url).content) - for i, element in enumerate(tree.xpath("//a[@class='gallerythumb']"), 1): - imurl = self.get_img("https://%s%s" % (domain, element.get("href")), i) - print(imurl) - self.dl_img(imurl, out) - - return i - - def get_img(self, srcurl:str, num:int) -> str: - tree = html.fromstring(requests.get(srcurl).content) - for element in tree.xpath("//img"): - try: - if num == int(os.path.splitext(element.get("src").split("/")[-1])[0]): - return element.get("src") - except ValueError: - pass - - def dl_img(self, imurl, outpath:str): - req = urllib.request.Request(imurl, headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/534.50.2 (KHTML, like Gecko) Version/5.0.6 Safari/533.22.3'}) - mediaContent = urllib.request.urlopen(req).read() - with open(os.path.join(outpath, imurl.split("/")[-1]), "wb") as f: - f.write(mediaContent) - -if __name__ == "__main__": - with CompressedImages(306013) as zippath: - import subprocess - subprocess.run(["cp", zippath, "/home/eden/Downloads"]) \ No newline at end of file -- cgit v1.2.3