import requests
from bs4 import BeautifulSoup
def Auth():
session = requests.Session()
html = session.get('https://statname.net/login')
#Получаем код
soup = BeautifulSoup(html.text, 'html.parser')
#Получаем токен из формы
input_hidden_token = soup.find('input')['value']
post_req = {'_token': input_hidden_token, 'email': 'kukata@oranek.com', 'password': '12345678'}
r = session.post('https://statname.net/login', data=post_req)
print(r)
print(r.text)
Auth()
r = session.post('https://statname.net/login', data=post_req)
Так как вы написали я пробовала, ошибка
input_hidden_token = soup.find('input')['value']тут точно нужный инпут находится? проверь что в переменной input_hidden_token. Я бы по имени искал:
soup.find('input', attrs={"name": "_token"})
session = requests.Session()
, делаешь в ней get запрос, чтобы токен получить, так вот и дальше авторизовываться надо в этой же сессии r = session.post('https://statname.net/login', params=post_req)
session.post(...)
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class=flashes>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
def add_randcode(self, code):
with self.connection as conn:
code = conn.cursor.execute("SELECT * FROM `subscriptions` WHERE `code` = ?", (code, )).fetchone()
if code == None:
code = random.randint(1000,9999)
conn.cursor.execute("""INSERT INTO subscriptions(code)
VALUES (?)""", (code, ))
conn.commit()
return code
else:
return code
DBeaver вообще отказывался открывать файл базы данных, пока в нее что-то записывается.
class Student:
def __init__(self, surname, mark1, mark2, mark3, group):
self.surname = surname
self.mark1 = mark1
self.mark2 = mark2
self.mark3 = mark3
self.group = group
stud_list = [
Student('Иванов', 4, 4, 5, 'Группа 1'),
Student('Петров', 3, 4, 3, 'Группа 2'),
Student('Сидоров', 5, 4, 5, 'Группа 1')
]
def create_sorted_dict(students):
# получаем список групп
groups = set([s.group for s in students])
# создаем шаблон выходного списка
res = {g: {'Студенты': [], 'Средний балл': 0} for g in groups}
# добавляем фамилии студентов и их оценки
for stud in students:
res[stud.group]['Студенты'].append({stud.surname: [stud.mark1, stud.mark2, stud.mark3]})
# считаем средний балл
for k, v in res.items():
avg_ball = 0
for _stud in v['Студенты']:
for balls in _stud.values():
avg_ball += balls[0] + balls[1] + balls[2]
v['Средний балл'] = (round(avg_ball / (len(v['Студенты']) * 3), 2))
return sorted(res.items(), key = lambda x: x[1]['Средний балл'], reverse=True)
print(create_sorted_dict(stud_list))