v 0.1
This commit is contained in:
@@ -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")
|
||||||
Reference in New Issue
Block a user