Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # В программе присутствуют 2 аргумента строки это -F(колличество фото) и -P(название папки) -N(режим названия фото if 0 буквами 1 цифрами) -D(Режим проверки скорости)
- # Импорты
- from bs4 import BeautifulSoup
- from colorama import Fore , Back , init , Style
- import requests
- from defs import * # ХЕНТАЙ
- import time
- import os
- import getpass
- import sys
- import time
- init()
- ajax1=args(sys.argv)
- ajax1 = {k.upper(): ajax1[k] for k in ajax1}
- user_name=getpass.getuser()
- print(Fore.RED+f'Hi {user_name}'+Fore.WHITE)
- del user_name
- if os.name == 'posix':
- print('О вы под линуксом, моё почтение')
- # Стандартные переменные
- ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) + '/'
- spisok = 1
- url='https://prnt.sc/'
- # Просто бред
- try:
- if ajax1 == {}:# Функция проверки аргументов
- print('Программа стартует без аргументов')
- else:
- print('Программа стартует с аргументами')
- except:
- print('Неверные значения аргументов')
- exit()
- try:# Простенькая функция проверки аргумента F
- i=int(ajax1['-F'])
- except NameError:
- i = int(input('Сколько раз делать парсинг(для бесконечного парсинга используйте 0): '))# Переменная количества
- try:# Простенькая функция проверки аргумента P
- path=ROOT_DIR + ajax1['-P']+'/'
- except NameError:
- path = ROOT_DIR + 'result/'
- try:
- if ajax1['-N']=='1':
- num_mode=True
- else:
- num_mode=False
- except NameError:
- num_mode=False
- try:
- if ajax1['-D'] == '1':
- DEBUG_MODE=True
- elif ajax1['-D'] == '0':
- DEBUG_MODE=False
- except NameError:
- DEBUG_MODE=False
- del ajax1, ROOT_DIR# Удаляю хлам
- # Конец бреда
- headers = 'Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)'# ХЕДЕРЫ
- try:# Логика проверки папок
- os.mkdir(path)
- print(Fore.RED + f'Директория созданна: {path}'+Back.BLACK)
- except OSError:
- print(Fore.RED + f'Директория существует: {path}'+Back.BLACK)
- print(Fore.CYAN+Style.BRIGHT+'Begin')
- # Прога
- if i == 0:
- while True:# Режим бесконечного парсинга
- if DEBUG_MODE == True:
- start = time.monotonic()
- id_pic = rand(6)
- a=url+id_pic
- reque = requests.get(a,headers={'user-agent':headers})
- soup = BeautifulSoup(reque.text, 'lxml')
- azws=soup.find('img').get('src')
- while True:# Проверка на наличие файла
- if azws[:4] == 'http':
- if num_mode == False:
- down(azws,path, id_pic)
- elif num_mode == True:
- wa=str(spisok).zfill(3)
- down(azws,path,wa)
- end = time.monotonic()
- if DEBUG_MODE == True:
- print(Back.GREEN+Style.BRIGHT+ f'{spisok} файл {id_pic} успешно скачан {end-start}'+Back.BLACK)
- else:
- print(Back.GREEN+Style.BRIGHT+ f'{spisok} файл {id_pic} успешно скачан'+Back.BLACK)
- spisok+=1
- break
- else:
- print(Back.RED+Style.BRIGHT+f'{spisok} файла {id_pic} не существует генерируем другой'+Back.BLACK)
- id_pic = rand(6)
- a=url+id_pic
- reque = requests.get(a,headers={'user-agent':headers})
- soup = BeautifulSoup(reque.text, 'lxml')
- azws=soup.find('img').get('src')
- continue
- else:# Режим конечного парсинга
- for i in range(i):
- start = time.monotonic()
- id_pic = rand(6)
- a=url+id_pic
- reque = requests.get(a,headers={'user-agent':headers})
- soup = BeautifulSoup(reque.text, 'lxml')
- azws=soup.find('img').get('src')
- while True:# Проверка на наличие файла
- if azws[:4] == 'http':
- if num_mode == False:
- down(azws,path, id_pic)
- elif num_mode == True:
- wa=str(spisok).zfill(3)
- down(azws,path,wa)
- end = time.monotonic()
- if DEBUG_MODE == True:
- print(Back.GREEN+Style.BRIGHT+ f'{spisok} файл {id_pic} успешно скачан {end-start}'+Back.BLACK)
- else:
- print(Back.GREEN+Style.BRIGHT+ f'{spisok} файл {id_pic} успешно скачан'+Back.BLACK)
- spisok+=1
- break
- else:
- print(Back.RED+Style.BRIGHT+f'{spisok} файла {id_pic} не существует генерируем другой'+Back.BLACK)
- id_pic = rand(6)
- a=url+id_pic
- reque = requests.get(a,headers={'user-agent':headers})
- soup = BeautifulSoup(reque.text, 'lxml')
- azws=soup.find('img').get('src')
- continue
- # Типо END
- print(Back.CYAN+Style.BRIGHT+'ALL'+Back.BLACK)
- time.sleep(15)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement