def module3(): # ----ПАРАМЕТРЫ---- all_likes = 720 # за сутки all_subscriptions = 5 # за сутки # 720 # ----В ЭТОМ ЧАСУ УЖЕ ЕСТЬ---- likes = 0 subscriptions = 0 browser = webdriver.Chrome(path_web_driver) login_inst(browser=browser) sort_users = open_file_to_list(path_sort) # ГЛАВНЫЙ ЦИКЛ ПО ЮЗЕРАМ num = 0 # номер перебираемого пользователя start_time = datetime.now( ) # время начала цикла, (тип данных это datetime) for person in sort_users: num += 1 print() print("{}.".format(num), person.replace("\n", "")) # Просто печатаем ссылку юзера browser.get(person) # Заходим на ссылку юзера smart_sleep(browser=browser) res_except = exception(browser=browser) # Проверяем рабочая ли ссылка res_privat = check_private( browser=browser) # Проверяем аккаунт на приватность if res_except and not res_privat: # если ссылка рабочая то: ch = check_users(b=browser) # Проверяем подписаны или нет if ch == "Мы подписаны": pass if ch == "Мы не подписаны": if (datetime.now() - start_time) < timedelta(hours=1): if subscriptions < all_subscriptions: subscriptions += 1 subscribe(b=browser, p=person) # подписываемся sleep(5) if likes < all_likes: likes += 1 like(b=browser) # ставим лайк sleep(5) else: print("Пределд лайков за сутки (Пауза 24 часа)") sleep(87000) likes = 0 else: print(" Предел подписок в сутки (Пауза 24 часа)") sleep(87000) subscriptions = 0 else: print(" Превышен лимит подписок в час (Пауза 2 часа)") sleep(7200) start_time = datetime.now() else: print(" Ошибка (Страница не найдена или приватна)")
def module2(): # ----- КОНСТАНТЫ ----- acc_subscriptions = [10, 450] # Подписки acc_subscribers = [10, 900] # Подпищики publications = 1 browser = webdriver.Chrome(path_web_driver) login_inst(browser=browser) file_list = open_file_to_list(path=path_users) os.remove(path_sort) for person in file_list: person = person.split(". ")[1] print(person.replace("\n", "")) browser.get(person) sleep(1.5) if check_good_page(browser=browser): flag = False # Проверка if flag: print("Приватный? - ", check_private(browser=browser)) print( "Подписок больше {}? - ".format(acc_subscriptions), check_count_subscriptions(browser=browser, count=acc_subscriptions)) print( "Подписчиков больше {}? - ".format(acc_subscribers), check_count_subscribers(browser=browser, count=acc_subscribers)) print( "Публикаций больше {}? - ".format(publications), check_count_publications(browser=browser, count=publications)) print("Есть аватарка? - ", chek_photo(browser=browser)) if not check_private(browser=browser): if check_count_subscriptions(browser=browser, count=acc_subscriptions): if check_count_subscribers(browser=browser, count=acc_subscribers): if check_count_publications(browser=browser, count=publications): if chek_photo(browser=browser): print("Человек подходит!") with open(path_sort, "a") as file: file.write(person) print() else: print("Страница с ошибкой!") print() browser.close()
def module1(): browser = webdriver.Chrome(path_web_driver) login_inst(browser=browser) open_subscribers(b=browser) url_subscribes = get_subscribes( b=browser, count=200) # Получение и Прокрутка подпишиков # создание файла со списком пользователей with open(path_users, "w") as file: n = 1 for i in url_subscribes: file.write(str(n) + ". " + str(i) + "\n") n += 1 print("Записаны пользователи") browser.close()
def module6(): with open(path_top, "r") as f: mas = json.loads(f.read()) browser = webdriver.Chrome(path_web_driver) login_inst(browser=browser) cprint(str(datetime.now()) + "Вход выполнен!", "green", attrs=['bold']) print() # -- 2 -- Войти в свой и открыть наши подписки # Заходим в подписки наши xpath_my_sub = '//*[@id="react-root"]/section/main/div/header/section/ul/li[3]/a' browser.get("https://www.instagram.com/probnik6432/") smart_sleep(browser=browser, xpath=xpath_my_sub) browser.find_element_by_xpath(xpath_my_sub).click() # Крутим xpath_scroll = "/html/body/div[6]/div/div/div[3]" # /html/body/div[6]/div/div/div[3] smart_sleep(browser=browser, xpath=xpath_scroll) elm_scroll = browser.find_element_by_xpath(xpath=xpath_scroll) t = scroll(b=browser, count=100, elm_scroll=elm_scroll) # Тут массив из пользователей (массив из элементов <li>) print(type(t)) print("Число наших подписок (гортанием): {}".format(len(t))) while True: num = 0 while num < len(t): num += 1 # Нажимаем кнопку отписаться xpath_button_user = "******".format(num) browser.find_element_by_xpath(xpath_button_user).click() # Подтверждаем отписку xpath_improve = '//button[@class="aOOlW -Cab_ "]' smart_sleep(browser=browser, xpath=xpath_improve) browser.find_element_by_xpath(xpath_improve).click() print("Отписались!") sleep(random.uniform(0.8, 1.9)) print("---------------------") num = 0 while num < len(t): num += 1 # Нажимаем кнопку отписаться xpath_button_user = "******".format(num) browser.find_element_by_xpath(xpath_button_user).click() print("Подписались!") sleep(random.uniform(0.8, 1.9)) sleep(3)
def module5(): with open(path_top, "r") as f: mas = json.loads(f.read()) from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("--headless") browser = webdriver.Chrome(path_web_driver, options=chrome_options) print(0) login_inst(browser=browser) print(1) cprint(str(datetime.now()) + "Вход выполнен!", "green", attrs=['bold']) print() # -- 1 -- Подписатся на всех i = 0 while True: sleep(1) i += 1 shuffle(mas) # ПЕРЕМЕШКА j = 0 for user in mas: j += 1 print() print("Человек: {}".format(user)) browser.get(user) smart_sleep(browser=browser) res_except = exception(browser=browser) # Проверяем рабочая ли ссылка res_privat = check_private(browser=browser) # Проверяем аккаунт на приватность if res_except and not res_privat: # если ссылка рабочая то: ch = check_users(b=browser) # Проверяем подписаны или нет if ch == "Мы подписаны": print(" Пропуск {} ибо подписаны!".format(user)) if ch == "Мы не подписаны": subscribe(b=browser, p=user) # подписываемся
def button_login(): browser = webdriver.Chrome(path_web_driver) login_inst(browser=browser)