Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import urllib.request
- import argparse
- from urllib.parse import urlparse, urljoin
- import os
- from os import path
- import shutil
- import sys
- import platform
- import subprocess
- import json
- parser = argparse.ArgumentParser()
- parser.add_argument("-p", "--path", required=False,
- help="Путь для сохранения, если не указан, то выбирается тот путь, где лежит скрипт", type=str)
- parser.add_argument("-c", "--cookie", required=True,
- help="Куки.", type=str)
- parser.add_argument("-l", "--link", required=False,
- help="Путь до сайта, не обязательно", type=str)
- parser.add_argument("-i", "-index", required=False,
- help="Начало, с какой цифры качать", type=int)
- parser.add_argument("-r", "-rindex", required=False,
- help="Конец, до которого качать", type=int)
- args = parser.parse_args()
- def die(msg):
- sys.stderr.write(msg + '\n')
- sys.exit(1)
- def path(): # функция для указания пути
- if args.path: # если аргумент есть
- if platform.system().lower() != 'windows':
- if args.path[-1] != '/': # если последним символом не является /
- args.path += '/' # добавить к строке символ /
- return(args.path)
- else:
- return(args.path)
- elif platform.system().lower() == 'windows':
- if args.path[-1] != '\\': # если последним символом не является \
- args.path += '\\' # добавить к строке символ \
- return (args.path) # возвратить аргумент
- else: # если все нормально, вернуть аргумент
- return (args.path)
- # если путь не существует, сказать об этом
- if os.path.exists(args.path) == False:
- die('Путь должен существовать')
- else: # если аргумента нет, вернуть директорию, в которой находится скрипт
- if platform.system().lower() == 'windows':
- return (os.getcwd() + '\\')
- else:
- return(os.getcwd() + '/')
- def save_torrent(file_url):
- headers = {
- "User-Agent" : "Mozilla/5.0 (X11; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0",
- "Cookie" : args.cookie
- }
- file_name = path() + (file_url.split('=')[-1] + '.torrent')
- r = requests.get(file_url, headers = headers)
- if str(r.text) not in '<center><br><br>Error: attachment data not found</center>':
- open(file_name, 'wb').write(r.content)
- print(file_url + ' was saved to', file_name)
- if __name__ == '__main__':
- counter = 0
- if not args.rindex or not args.index:
- while True:
- counter += 1
- #print(counter)
- save_torrent('https://rutracker.org/forum/dl.php?t=' + str(counter))
- else:
- for i in range(args.index, args.rindex + 1):
- save_torrent('https://rutracker.org/forum/dl.php?t=' + str(i))
Add Comment
Please, Sign In to add comment