Files
pornhub_dl/pornhub_dl.py
2024-10-28 21:18:22 +07:00

71 lines
2.4 KiB
Python

#!/usr/bin/env python
from sys import exit as sysexit
from os.path import isfile
from lib_pornhub import (
ascii_banner, ph_config_dl_dir, ph_get_playlist, ph_get_video
)
from argparse import ArgumentParser
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
def main():
parser = ArgumentParser()
parser.add_argument('--url', type=str, help='URL of Pornhub video')
parser.add_argument('--playlist', nargs='?', const='best', choices=['most-viewed', 'best', 'top-rated', 'longest'], help='Optional ordering of videos')
parser.add_argument('--limit', type=int, help='Maximum number of videos', default=0)
parser.add_argument('--dir', type=str, help='Output directory')
parser.add_argument('--file', type=str, help='File with links to download')
args = parser.parse_args()
################################
ascii_banner("PornHub-dl")
print("\t\tMade by tnt2402\n")
print("\t\tModified by JDM17")
print("\n\n\n########################################################\n")
################################
ph_config_dl_dir(args.dir)
if (args.url == None and args.playlist != None):
print("URL cannot be empty!")
sysexit()
elif (args.playlist != None):
ph_get_playlist(args.url, args.playlist, args.limit)
elif (args.url != None):
ph_get_video(args.url)
elif (args.file != None):
if not isfile(args.file):
print("File not found")
sysexit()
with open(args.file, encoding="utf-8") as f:
temp = list(filter(None, f.read().split("\n")))
list_from_file = temp.copy()
new_file = temp.copy()
video_len = len(list_from_file)
count = 0
try:
for url in list_from_file:
print('[+] URL: ' + url)
ph_get_video(url)
new_file.remove(url)
count += 1
print("\nProcessed: {}/{}\n".format(count, video_len))
except KeyboardInterrupt:
pass
with open(args.file, encoding="utf-8", mode="w") as f:
for url in new_file:
f.write(url + "\n")
if __name__ == '__main__':
main()