170 похожих чатов

# собираем список подписок

following_button = browser.find_element_by_xpath("/html/body/div[1]/section/main/div/header/section/ul/li[3]/a")
following_button.click()
time.sleep(random.randrange(3, 5))

following_ul = browser.find_element_by_xpath("/html/body/div[4]/div/div/div[2]")

try:
following_urls = []
print("Запускаем сбор подписок")

for i in range(1, following_loops_count + 1):
browser.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", following_ul)
time.sleep(random.randrange(2, 4))
print(f"Итерация #{i}")

all_urls_div = following_ul.find_elements_by_tag_name("li")

for url in all_urls_div:
url = url.find_element_by_tag_name("a").get_attribute("href")
following_urls.append(url)

# сохраняем всех подписок пользователя в файл
with open(f"{username}_following_list.txt", "a") as following_file:
for link in following_urls:
following_file.write(link + "\n")

"""Сравниваем два списка, если пользователь есть в подписках, но его нет в подписчиках,
заносим его в отдельный список"""

count = 0
unfollow_list = []
for user in following_urls:
if user not in followers_urls:
count += 1
unfollow_list.append(user)
print(f"Нужно отписаться от {count} пользователей")

# сохраняем всех от кого нужно отписаться в файл
with open(f"{username}_unfollow_list.txt", "a") as unfollow_file:
for user in unfollow_list:
unfollow_file.write(user + "\n")

print("Запускаем отписку...")
time.sleep(2)

# заходим к каждому пользователю на страницу и отписываемся
with open(f"{username}_unfollow_list.txt") as unfollow_file:
unfollow_users_list = unfollow_file.readlines()
unfollow_users_list = [row.strip() for row in unfollow_users_list]

try:
count = len(unfollow_users_list)
for user_url in unfollow_users_list:
browser.get(user_url)
time.sleep(random.randrange(4, 6))

# кнопка отписки
unfollow_button = browser.find_element_by_xpath("/html/body/div[1]/section/main/div/header/section/div[1]/div[1]/div/div[2]/div/span/span[1]/button")
unfollow_button.click()

time.sleep(random.randrange(4, 6))

# подтверждение отписки
unfollow_button_confirm = browser.find_element_by_xpath("/html/body/div[4]/div/div/div/div[3]/button[1]")
unfollow_button_confirm.click()

print(f"Отписались от {user_url}")
count -= 1
print(f"Осталось отписаться от: {count} пользователей")

# time.sleep(random.randrange(120, 130))
time.sleep(random.randrange(4, 6))

except Exception as ex:
print(ex)
self.close_browser()

except Exception as ex:
print(ex)
self.close_browser()

time.sleep(random.randrange(4, 6))
self.close_browser()


for user, user_data in users_settings_dict.items():
username = user_data['login']
password = user_data['password']
# window_size = user_data['window_size']

my_bot = InstagramBot(username, password)
my_bot.login()
# my_bot.close_browser()
# my_bot.send_direct_message(direct_users_list, "Hey! How's it going?", "/home/cain/PycharmProjects/instagram_bot/lesson_6/img1.jpg")
# my_bot.get_all_followers('username')
my_bot.smart_unsubscribe("username")

1 ответов

12 просмотров

правила читать не учили?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта