This commit is contained in:
Hell13Cat
2021-02-01 16:16:58 +03:00
committed by GitHub
parent 32b210e1a6
commit 354257258b
+64
View File
@@ -0,0 +1,64 @@
import requests as req
import xmltodict, json
import wget
import os
import random
logo = """•---------------•-------•--------------------•
| rule34-parser | v 0.1 | MIT License |
•---------------•-------•--------------------•
| https://github.com/Hell13Cat/rule34-parser |
•--------------------------------------------•\n"""
root_dir = os.getcwd()
try:
os.mkdir(root_dir + "/down")
except:
pass
def download(url, filename):
wget.download(url, filename)
return filename
def dirs_create(name):
root_dir = os.getcwd()
try:
os.mkdir(root_dir + "/down/" + name)
except:
pass
def load_url(url, tag):
dirs_create(tag)
root_dir = os.getcwd()
filename = root_dir + "/down/" + tag + "/" + (url.split("/"))[-1]
download(url, filename)
def get_json(url):
cont = (req.get(url)).content
o = xmltodict.parse(cont)
return json.loads(json.dumps(o))
def list_tag(num, tag):
tags = tag.replace("(", "%28").replace(")", "%29").replace(" ", "+")
json_l = get_json("https://rule34.xxx/index.php?page=dapi&s=post&q=index&limit=" + str(num) + "&tags=" + tags)
posts_all = json_l["posts"]["post"]
return_data = []
for post in range(int(num)):
return_data.append([json_l["posts"]["post"][post]["@tags"], json_l["posts"]["post"][post]["@file_url"]])
return return_data
print(logo)
tag = input("TAG> ")
num = input("COUNTS> ")
os.system('cls' if os.name == 'nt' else 'clear')
print(logo+"Loading url's...")
list_url = list_tag(int(num), tag)
text_info = ""
count = 0
for one_url in list_url:
os.system('cls' if os.name == 'nt' else 'clear')
count += 1
print(logo+"File "+str(count)+"/"+str(len(list_url)))
load_url(one_url[1], tag)
text_info = text_info + "> " + one_url[1] + "\n" + one_url[0] + "\n\n"
os.system('cls' if os.name == 'nt' else 'clear')
open("./down/"+tag+" - "+str(random.randrange(1, 25000, 1))+".txt", "w").write(text_info)
print(logo+str(len(list_url))+" files downloads")