• Почему не получается авторизироваться через requests?

    @Romeo558 Автор вопроса
    Продолжающий программист на python.
    Я разобрался.
    В общем, совет всем кто пишет такие парсеры: Добавляйте больше заголовков!
    Этот сайт меня не пропускал, считая меня роботом только потому что какой-то заголовок не был указан. Я взял вот это за основу:

    headers = {
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
            'Accept-Language': 'ru,en;q=0.9,en-GB;q=0.8,en-US;q=0.7',
            'Cache-Control': 'max-age=0',
            'Connection': 'keep-alive',
            'Content-Type': 'application/x-www-form-urlencoded',
            'Cookie': '_ym_uid=1676574290233522544; _ym_d=1676574290; DNSID=a058e0e7b3a7d65874158d1d0eac55f5da0061bf; HLP=4855814%7C%242y%2410%24ghilzoCbi4w1A04ImC1yh.Llg85UEDw2JdtsPIyEeCzpYNN%2Fa3eky; _ym_isad=2; _ym_visorc=b',
            'Origin': 'https://edu.tatar.ru',
            'Referer': 'https://edu.tatar.ru/login/',
            'Sec-Fetch-Dest': 'document',
            'Sec-Fetch-Mode': 'navigate',
            'Sec-Fetch-Site': 'same-origin',
            'Sec-Fetch-User': '?1',
            'Upgrade-Insecure-Requests': '1',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58',
            'sec-ch-ua': '"Chromium";v="112", "Microsoft Edge";v="112", "Not:A-Brand";v="99"',
            'sec-ch-ua-mobile': '?0',
            'sec-ch-ua-platform': '"Windows"'
        }


    И всё заработало прекрасно.
    Вот код, который я по итогу использовал:

    Код
    import requests
    from bs4 import BeautifulSoup
    import fake_useragent
    import time
    
    url = "https://edu.tatar.ru/login"
    url2 = "https://edu.tatar.ru/user/diary/week"
    login_data = {"main_login2": "", "main_password2": ""}
    ua = fake_useragent.UserAgent()
    
    # start_time = time.time()
    
    with requests.Session() as s:
        headers = {
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
            'Accept-Language': 'ru,en;q=0.9,en-GB;q=0.8,en-US;q=0.7',
            'Cache-Control': 'max-age=0',
            'Connection': 'keep-alive',
            'Content-Type': 'application/x-www-form-urlencoded',
            'Cookie': '_ym_uid=1676574290233522544; _ym_d=1676574290; DNSID=a058e0e7b3a7d65874158d1d0eac55f5da0061bf; HLP=4855814%7C%242y%2410%24ghilzoCbi4w1A04ImC1yh.Llg85UEDw2JdtsPIyEeCzpYNN%2Fa3eky; _ym_isad=2; _ym_visorc=b',
            'Origin': 'https://edu.tatar.ru',
            'Referer': 'https://edu.tatar.ru/login/',
            'Sec-Fetch-Dest': 'document',
            'Sec-Fetch-Mode': 'navigate',
            'Sec-Fetch-Site': 'same-origin',
            'Sec-Fetch-User': '?1',
            'Upgrade-Insecure-Requests': '1',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58',
            'sec-ch-ua': '"Chromium";v="112", "Microsoft Edge";v="112", "Not:A-Brand";v="99"',
            'sec-ch-ua-mobile': '?0',
            'sec-ch-ua-platform': '"Windows"'
        }
        s.post(url, data=login_data, headers=headers)
        diary_page = s.get(url2, headers=headers)
        soup = BeautifulSoup(diary_page.content, "lxml")
    
    # end_time = time.time()
    # result = end_time-start_time
    Ответ написан
    Комментировать
  • Как сделать чтоб бот реагировал например на слово "привет" не зависимо будет ли что то после него?

    @Romeo558
    Продолжающий программист на python.
    if "привет" in msg:
         #код

    Правда тут загвоздка.
    Этот блок срабатывает если в сообщении так или иначе есть слово "привет"
    Пример:
    Привет мир! (условие сработает)
    Мир, привет! (условие тоже сработает)

    Кто то обязательно напишет корректный ответ, но это одно из решений
    Ответ написан
    2 комментария
  • Как решить ошибку string indices must be integers?

    @Romeo558
    Продолжающий программист на python.
    Я наверное запоздал, да и проблему ты уже наверное решил, но решил необходимым поделиться своим вариантом решения с другими.
    Эта ошибка в данной библиотеке означает то, что токен более не действителен. Я не знаю почему это происходит, но это происходит.
    Чтобы точно убедиться что это всё от токена - попробуй запустить вот это:
    from yoomoney import Client
    
    token = "*******************************************************************"
    client = Client(token)
    
    history = client.account_info()

    Должна вывестись ошибка типа:
    yoomoney.exceptions.InvalidToken: Token is not valid, or does not have the appropriate rights

    И тут уже из ошибки понятно в чём проблема.

    Может быть это не единственное решение такой проблемы, но это помогло лично мне.
    Ответ написан
    Комментировать
  • Как скомбинировать несколько моделей в одну(StableDiffusion)?

    @Romeo558 Автор вопроса
    Продолжающий программист на python.
    В общем, я решил свой же вопрос всего за одну ночь.
    Вот объяснение что я сделал. Это для тех кто ищет ответ на этот вопрос.
    1. Сперва я посетил гитхаб, откуда я скачал webui для всех махинаций дальше.(https://github.com/AUTOMATIC1111/stable-diffusion-webui)
    2. Если у вас имя пользователя на винде имеет русские символы, откройте web-ui_user.bat в блокноте и после строки @echo_off добавьте "cp1251" без кавычек.
    Далее в "set PYTHON = " укажите полный путь до python.exe. Советую использовать питон 3.9 версии, который я и использовал.
    Запустите web-ui_user.bat. Если программа будто встряла, это не так. Просто ждите и не перезапускайте консоль.
    в идеале, в конечном итоге у вас будет сообщение "Running on local URL: 127.0.0.1:7860" или похожее на это.
    Открывайте ссылку в браузере и делайте всё по инструкции.
    Готово! Теперь запускайте модель там, где вам удобно и удачи в генерировании!
    Ответ написан
  • Как снизить использование GPU в Unity?

    @Romeo558 Автор вопроса
    Продолжающий программист на python.
    Я нашёл ответ.
    Это делается не через редактор Unity, а в любом активном скрипте в графе Update().
    Application.targetFrameRate = 60; //обязательно int, не float!

    Теперь игра не кушает так много ресурсов и моя душа спокойна.
    Спасибо за ваши ответы.
    Ответ написан
    Комментировать
  • Как использовать random.randint() в телеграм боте?

    @Romeo558
    Продолжающий программист на python.
    Используй переменную num в самой функции команды, то есть после @bot.message.handler. Так каждый раз будет случайное число
    И вообще зачем эти махинации с int и == ?
    просто if num1 == 1: и дальше тело условия.
    Усё.
    Ответ написан
    Комментировать
  • Почему не работает код python Email sender?

    @Romeo558
    Продолжающий программист на python.
    server = smtplib.SMTP("smtp.gmail.com", 587)
    Ты неправильно указал адрес сервера
    Ответ написан
  • Кресло для программиста высокого роста?

    @Romeo558
    Продолжающий программист на python.
    Я как бывалый, могу сказать что супер навороченные кресла кресла типа игровых тебе не подойдут. Для работы вполне сойдёт обыкновенное кресло на колёсиках (как ты говоришь с поддержкой головы) Стоит спросить у консультанта магазина где ты будешь покупать кресла. Приобретай с подлокотниками, они правда очень удобные.
    Делай перерывы каждый час-два на встать и походить по комнате. Так меньше будет боли когда встаёшь с кресла. Пробуй разные, всё индивидуально
    Ответ написан
    Комментировать
  • Как исправить ошибку "команда mute не найдена"?

    @Romeo558
    Продолжающий программист на python.
    Используй декоратор @bot.command() - заметь, без pass_context()

    API дискорд понимает это как функцию начала команды. поэтому стоит попробовать этот вариант
    *Бонус* -- Чтобы команду мог использовать только администратор, стоит добавить после декоратора @commands.has_permissions(administrator=True) Почитай в доках какие ещё параметры кроме админа можно вставить.
    Ответ написан
    Комментировать
  • Почему тут ошибка?

    @Romeo558
    Продолжающий программист на python.
    import time
    from random import randint
    
    for i in range(1, 45):
        print('')
    
    
    
    for i in range(1, 1000):
        s = ''
        count = randint(1, 100)
        while (count > 0):
            s  = ' '
            count -= 1
    
        if (i%10==0):
            print(s + 'С праздником Рамадан')
        else:
            print(s + '*')
            time.sleep(0.1)

    Нужен был отступ
    Ответ написан
    1 комментарий
  • Как с помощью библиотеки pyTelegramBotAPI сделать два ответа на вопрос бота?

    @Romeo558
    Продолжающий программист на python.
    import telebot
    import config
    import sqlite3
    
    bot = telebot.TeleBot(config.TOKEN)
    
    db = sqlite3.connect('bot_db')
    cursor = db.cursor()
    
    cursor.execute("""CREATE TABLE IF NOT EXISTS users(
        login text,
        password text
      )""")
    
    db.commit()
    
    @bot.message_handler(commands=['start'])
        msg = bot.send_message(message.chat.id, "Ок,  придумайте логин") #Что то типа заготовки.
        bot.register_next_step_handler(msg, reg)
    
    def reg(message):
       login = message.text
       msg = bot.send_message(message.chat.id, "Придумайте пароль")
       bot.register_next_step_handler(msg, pass_reg)
    #  cursor.execute(f"SELECT login FROM users WHEN login = '{login(message)}'")
    #  if cursor.fetchone() is None:
    #    cursor.execute("INSERT INTO users VALUES (?, ?)", (login(message), password(message)))
    #    db.commit()
    #
    #    bot.send_message(message.chat.id, 'Вы успешно зарегистрированы!')
    #  else:
     #   bot.send_message(message.chat.id, 'Такой пользователь уже существует!')
    def pass_reg(message):
       password = message.text
       bot.send_message(message.chat.id, "Вы успешно авторизованы!")
    bot.polling(none_stop=True)

    То есть нужно было добавить register_next_step_handler и добавить начальное сообщение
    Ответ написан
    Комментировать
  • Как определить инициатора spoofed DDoS-атаки?

    @Romeo558
    Продолжающий программист на python.
    Если злоумышленник использует ботнет для атаки, то это практически невозможно. Используя SSYNF злоумышленник подменяет свой IP также как бы это делал навороченный VPN. Как по мне и моему опыту с сетями, я считаю что это сделать возможно, но очень сложно.
    Ответ написан
    Комментировать
  • Если я открываю файл из моего проводника в браузере, кто-нибудь посторонний может увидеть этот файл? Файл где-нибудь публикуется?

    @Romeo558
    Продолжающий программист на python.
    Нет. Абсолютно
    Файл находится только в кеше браузера, и нигде не может публиковаться физически
    Ответ написан