aboutsummaryrefslogtreecommitdiffstats
path: root/downloader.py
diff options
context:
space:
mode:
authorjwansek <eddie.atten.ea29@gmail.com>2025-04-29 18:51:40 +0100
committerjwansek <eddie.atten.ea29@gmail.com>2025-04-29 18:51:40 +0100
commit0e8ada1eff8799437c9be1bc2af10d6198fa8cad (patch)
tree65d40b0c83fc2477306d561d8b98741e8e6585c6 /downloader.py
parent9e077a790919e2980111262fbde500a5cee828f8 (diff)
downloadeda.gay-0e8ada1eff8799437c9be1bc2af10d6198fa8cad.tar.gz
eda.gay-0e8ada1eff8799437c9be1bc2af10d6198fa8cad.zip
Added inline HTML into blogposts, refactored a bit
Diffstat (limited to 'downloader.py')
-rwxr-xr-xdownloader.py54
1 files changed, 0 insertions, 54 deletions
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