예제 #1
0
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("  Ошибка (Страница не найдена или приватна)")
예제 #2
0
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()
예제 #3
0
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()
예제 #4
0
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)
예제 #5
0
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)  # подписываемся
예제 #6
0
def button_login():
    browser = webdriver.Chrome(path_web_driver)
    login_inst(browser=browser)