from threading import Thread
def bot(longpoll, vk_api):
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW:
message = 'Hello, World'
vk_api.messages.send(user_id=event.object.from_id, random_id=random.getrandbits(32), message=message)
def bot_init(account):
vk = vk_api.VkApi(token=account['token'])
vk_api = vk.get_api()
longpoll = VkBotLongPoll(vk, account['group_id'])
bot(longpoll, vk_api)
def main():
with open('accounts.json', 'r') as file:
data = json.loads(file.read())
accounts = data['accounts']
for account in accounts:
Thread(target=bot_init, args=[account]).start()
if __name__ == '__main__':
main()
numbers = []
# Открываем файл с числами в контекстном менеджере
with open('numbers.txt', 'r') as f:
# Методом read() читаем этот файл, с помощью split('\n') убираем переносы строк
# на выходе получаем список строк формата ['3, 7, 20', ...]
items = f.read().split('\n')
# Итерируем полученные строки
for i in items:
# С помощью все той же split(',') убираем из строки ',' и разделяем строку, на выходе список ['3', '7', '20']
# Итерируем его с помощью генератора и конвертируем каждое элемент в число с помощью int()
# Полученный результат пихаем в общий список number. На выходе список списков
numbers.append([int(n) for n in i.split(',')])
# Итерируем наш список списков, думаю тут все понятно
for nums in numbers:
for num in range(1, nums[2]+1):
if num % nums[0] == 0 and num % nums[1] == 0:
print('FB', end = ' ')
elif num % nums[0] == 0:
print('F', end = ' ')
elif num % nums[1] == 0:
print('B', end = ' ')
else:
print(num, end = ' ')
использовать Тор. Но постоянно держать открытым браузер, как я считаю, не лучшая идея
Примерно 15000 страниц. Меня банят по ip. Я использую прокси с библиотекой requests. Пока у меня такой план: выполняю запрос, если он не удачен, меняю прокси
for proxy in proxies:
r = requests.get(host, headers=headers, proxies=proxy, timeout=4)
if r.status_code != 200:
continue
good_proxies.append(proxy)
pattern = "https://www.betexplorer.com/results/soccer/?year={}&month={}&day={}"
for year in range(2016, 2020):
for month in range(1, 13):
for day in range(1, 32):
url = pattern.format(year, month, day)
print(url)
r = requests.get(url)
if r.status_code == 404:
print("This page does not exists")
# Проверка каждого слова из предложения на палиндром
def palindrome_sentence(text):
for word in ["".join(filter(str.isalpha, w)) for w in text.split(" ")]:
print("palindrome") if word.lower() == word.lower()[::-1] else print("not palindrome")
# Объединение строки в одно слово и его проверка
def palindrome_word(text):
word = "".join(["".join(filter(str.isalpha, w)) for w in text])
print("palindrome") if word.lower() == word.lower()[::-1] else print("not palindrome")
text = input("text: \n")
palindrome_word(text)
Группой ежедневно пользуются от 100 до 3000 человек
for
срабатывает только 1 раз и после завершает свою работу. Если вы хотите выводить все результаты итерации, то нужно print(i)
with open('file.txt', 'w') as f:
f.write('some text\n')
pip install playsound
import time
from playsound import playsound
while True:
start = input("Начать? [Y/N/]:")
clockers = 3600
timer = None
if start.lower() == "y":
print(time.asctime())
print("Отсчитываю 1 час...")
elif start.lower() == "n":
timer = input("Хотите завести другой таймер? [Y/N]:")
if timer.lower() == "y":
while True:
clockers = input("На сколько секунд поставить таймер?:")
try:
isinstance(int(clockers), int)
break
except ValueError:
print("Повторите ввод. Необходимо ввести число.")
print("Таймер заведён на " + str(clockers) + " секунд ")
if start.lower() not in ["y", "n"] and timer != "y":
print("Ошибка! Вы будете возвращены в начальное меню")
continue
time.sleep(int(clockers))
print("время вышло")
playsound("D:/test.mp3")
break