Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import requests
- import configparser
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.firefox.options import Options
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- from datetime import datetime
- config = configparser.RawConfigParser()
- config.read("settings.ini")
- ogusers_username = config.get("Settings", "ogusers_username")
- ogusers_password = config.get("Settings", "ogusers_password")
- post_delay = int(config.get("Settings", "post_delay"))
- sleep_time = int(config.get("Settings", "sleep_time"))
- API_KEY = config.get("Settings", "2captcha_api_key")
- headless = int(config.get("Settings", "headless"))
- sleep_time_hours = round(sleep_time/60/60, 2)
- options = Options()
- if headless < 1:
- options.headless = False
- else:
- options.headless = True
- browser = webdriver.Firefox(options=options)
- wait = WebDriverWait(browser,15)
- browser.get("https://ogusers.com/member.php?action=login")
- print(" _ _ _ _ ____ ")
- print(" | | (_) ( ) /\ | | | _ \ ")
- print(" | | ___ __ _ _ _ __ |/ ___ / \ _ _| |_ ___ | |_) |_ _ _ __ ___ _ __ ___ _ __ ")
- print(" | | / _ \ / _` | | '_ \ / __| / /\ \| | | | __/ _ \| _ <| | | | '_ ` _ \| '_ \ / _ \ '__| ")
- print(" | |___| (_) | (_| | | | | | \__ \ / ____ \ |_| | || (_) | |_) | |_| | | | | | | |_) | __/ | ")
- print(" |______\___/ \__, |_|_| |_| |___/ /_/ \_\__,_|\__\___/|____/ \__,_|_| |_| |_| .__/ \___|_| ")
- print(" __/ | | | ")
- print(" |___/ |_| ")
- try:
- wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[2]/td[2]/input')))
- except:
- try:
- solved = 0
- while solved < 1:
- print("Solving captcha, please wait...")
- site_key = '6LfBixYUAAAAABhdHynFUIMA_sa4s-XsJvnjtgB0' # site-key, read the 2captcha docs on how to get this
- url = 'http://ogusers.com/' # example url
- s = requests.Session()
- # here we post site key to 2captcha to get captcha ID (and we parse it here too)
- captcha_id = s.post("http://2captcha.com/in.php?key={}&method=userrecaptcha&googlekey={}&pageurl={}".format(API_KEY, site_key, url)).text.split('|')[1]
- # then we parse gresponse from 2captcha response
- recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
- while 'CAPCHA_NOT_READY' in recaptcha_answer:
- time.sleep(5)
- recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
- recaptcha_answer = recaptcha_answer.split('|')[1]
- browser.execute_script("document.getElementById('g-recaptcha-response').style.display = 'block';")
- browser.execute_script("document.getElementById('recaptcha_submit').style.display = 'block';")
- browser.find_element_by_xpath('//*[@id="g-recaptcha-response"]').send_keys(recaptcha_answer)
- browser.switch_to.active_element.send_keys(Keys.TAB)
- browser.switch_to.active_element.send_keys(Keys.RETURN)
- time.sleep(3)
- try:
- browser.get("https://ogusers.com/member.php?action=login")
- wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[1]/td/span/strong')))
- print("Captcha solved.")
- solved = 1
- except:
- print("Captcha solved incorrectly.")
- solved = 0
- browser.refresh()
- except:
- print("An unknown error has occured.")
- sttime_3 = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
- file_name_3 = "unknown_error_" + sttime_3 + ".png"
- browser.save_screenshot(file_name_3)
- print("Error screenshot saved as " + file_name_3 + ".")
- browser.quit()
- exit()
- print("Logging into OGUsers.")
- try:
- browser.find_element_by_xpath('//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[2]/td[2]/input').send_keys(str(ogusers_username))
- browser.find_element_by_xpath('//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[3]/td[2]/input').send_keys(str(ogusers_password))
- browser.find_element_by_xpath('//*[@id="fullcontainment"]/div[1]/form/table/tbody/tr[5]/td/span/input').click()
- wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="cat_1_e"]/tr[1]/td[2]/a')))
- print("Successfully logged into OGUsers.")
- except:
- print("There was an error logging into OGUsers.")
- sttime = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
- file_name = "login_error_" + sttime + ".png"
- browser.save_screenshot(file_name)
- print("Error screenshot saved as " + file_name + ".")
- browser.quit()
- exit()
- if post_delay < 15:
- print("WARNING: Post delays are recommended to be atleast 15 seconds.")
- if sleep_time_hours < 1:
- print("WARNING: Auto-bump delays are recommended to be atleast 1 hour.")
- print("Running a " + str(post_delay) + " second delay between posts.")
- print("Running a " + str(sleep_time_hours) + " hour delay between auto-bumps.")
- while True:
- try:
- browser.get("https://ogusers.com/")
- wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="cat_1_e"]/tr[2]/td[2]/a')))
- error = 0
- except:
- try:
- solved = 0
- while solved < 1:
- print("Solving captcha, please wait...")
- site_key = '6LfBixYUAAAAABhdHynFUIMA_sa4s-XsJvnjtgB0' # site-key, read the 2captcha docs on how to get this
- url = 'http://ogusers.com/' # example url
- s = requests.Session()
- # here we post site key to 2captcha to get captcha ID (and we parse it here too)
- captcha_id = s.post("http://2captcha.com/in.php?key={}&method=userrecaptcha&googlekey={}&pageurl={}".format(API_KEY, site_key, url)).text.split('|')[1]
- # then we parse gresponse from 2captcha response
- recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
- while 'CAPCHA_NOT_READY' in recaptcha_answer:
- time.sleep(5)
- recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id)).text
- recaptcha_answer = recaptcha_answer.split('|')[1]
- browser.execute_script("document.getElementById('g-recaptcha-response').style.display = 'block';")
- browser.execute_script("document.getElementById('recaptcha_submit').style.display = 'block';")
- browser.find_element_by_xpath('//*[@id="g-recaptcha-response"]').send_keys(recaptcha_answer)
- browser.switch_to.active_element.send_keys(Keys.TAB)
- browser.switch_to.active_element.send_keys(Keys.RETURN)
- time.sleep(3)
- try:
- browser.get("https://ogusers.com/")
- wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="cat_1_e"]/tr[2]/td[2]/a')))
- print("Captcha solved.")
- solved = 1
- error = 0
- except:
- print("Captcha solved incorrectly.")
- solved = 0
- browser.refresh()
- error = 0
- except:
- print("An unknown error has occured.")
- sttime_3 = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
- file_name_3 = "unknown_error_" + sttime_3 + ".png"
- browser.save_screenshot(file_name_3)
- print("Error screenshot saved as " + file_name_3 + ".")
- error = 1
- time.sleep(30)
- if error == 0:
- thread = 1
- for line in open('threads.txt'):
- if thread >= 10:
- print("WARNING: Bumping over 10 threads an hour is not recommended, you risk getting warned or banned for spamming.")
- print("Posting on thread number " + str(thread) + ".")
- url = line.split(',')[0]
- text = line.split(',')[1]
- try:
- browser.get(url)
- browser.switch_to.active_element.send_keys(Keys.TAB)
- browser.switch_to.active_element.send_keys(Keys.CONTROL + "a")
- browser.switch_to.active_element.send_keys(str(text))
- browser.find_element_by_xpath("//input[@value='Post Reply']").click()
- print("Successfully posted to thread number " + str(thread) + ".")
- except:
- print("There was an error posting to thread number " + str(thread) + ".")
- sttime_2 = datetime.now().strftime('%Y_%m_%d_%H_%M_%S')
- file_name_2 = "post_error_" + sttime_2 + ".png"
- browser.save_screenshot(file_name_2)
- print("Error screenshot saved as " + file_name_2 + ".")
- time.sleep(post_delay)
- thread = thread + 1
- print("Finished auto-bumping, sleeping for " + str(sleep_time_hours) + " hours. " + datetime.now().strftime('%H:%M'))
- time.sleep(sleep_time)
Add Comment
Please, Sign In to add comment