Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Script Process :
- #logs in
- #grabs data from text file
- #begin loop (restarts from here for every line in the text file)
- #posts data
- #waits for 10 mins to prevent ban/captcha/error (if you post spam you'll get banned anyway)
- #goes back to step 3 (begin loop) until it has completed this for every line in the text file.
- #When it has ran through the loop for every line in the text file, the script will finish.
- #Please see flags to learn how to use it, or run with the '-h' flag to display help.
- #dependencies :
- #python3
- #argparse
- #praw
- #useage example :
- #ex1: reddit.py -u "username" -p "password"
- #ex2: reddit.py -u "username" -p "password" -f "filepath.txt" -t 600 -sub "Pics"
- #flags explained :
- #-u = username - default=None
- #-p = password - default = None
- #-f = filename or path to file - default = 'reddit_posts.txt'
- #-t = timer value in seconds - default = 600 (10 mins)
- #-sub = subreddit to post - default = Pics
- #-s = line separator (IE '|' or ':') - default = '|'
- #How to use :
- #make a plain text file formatted like this :
- #post_title | url_to_post
- #launch script
- #if confused, launch the script with the '-h' flag
- #-----------------------------------------------------#
- #!/usr/bin/python3
- import argparse,praw,time
- parser = argparse.ArgumentParser()
- parser.add_argument('-u','--username',help='reddit.com username',type=str)
- parser.add_argument('-p','--password',help='reddit.com password',type=str)
- parser.add_argument('-f','--filename',help='file containing data to be posted',type=str,default='reddit_posts.txt')
- parser.add_argument('-s','--spacer',help='character to seperate title|url inside text file',type=str,default='|')
- parser.add_argument('-t','--timer',help='amount of time to wait between posts (in seconds)',type=int,default=600)
- parser.add_argument('-sub','--subreddit',help='subreddit to post too',type=str,default='Pics')
- args = parser.parse_args()
- def post(title,post_url):
- if r.is_logged_in() == True:
- print("logged in successfully")
- r.submit(args.subreddit,title,text=None,url=post_url)
- else:
- print('login failed, aborting...')
- exit()
- if __name__ == '__main__':
- if args.username =='' or args.password == '':
- print("please try using the '-h' flag to understand this script better")
- print('no username/password given, aborting...')
- exit()
- with open(args.filename) as f:
- r = praw.Reddit(user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36')
- r.login(args.username, args.password,disable_warning=True)
- for line in f.read().splitlines():
- combo = line.split(args.spacer)
- title = combo[0]
- post_url = combo[1]
- try:
- print('posting : {} - {}'.format(title, post_url))
- post(title,post_url)
- print('posted : {} - {}'.format(title,post_url))
- time.sleep(args.timer)
- except Exception as e:
- print(e)
- break
Add Comment
Please, Sign In to add comment