Python возвращает http ошибку 500. Хотя вручную могу зайти на страницу

Вручную могу зайти на страницу, а при попытке получить get запрос, выдается ошибка 500. Как это исправить и с чем это связано?

import re

import requests
from bs4 import BeautifulSoup
page=2

url=f'https://fantlab.ru/bygenre?form=&lang=&logicalor=on&page={page}&sort=marks&wg1=on&wg116=on&wg160=on&wg19=on&wg225=on&wg280=on&wg30=on&wg31=on&wg32=on&wg33=on&wg34=on&wg35=on&wg36=on&wg37=on&wg38=on&wg39=on'

headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36}"
}

req = requests.get(url, headers=headers)
print(req.status_code)

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Сергей Ш
import requests
from bs4 import BeautifulSoup

sess = requests.Session()

data = {
    'login': 'bim_bom',
    'password': '12345678',
}
response = sess.post('https://fantlab.ru/login', data=data)

page = 8
url = f'https://fantlab.ru/bygenre?form=&lang=&logicalor=on&page={page}&' \
      f'sort=marks&wg1=on&wg116=on&wg160=on&wg19=on&wg225=on&wg280=on&wg30=on&wg31=on&wg32=on&wg33=on&' \
      f'wg34=on&wg35=on&wg36=on&wg37=on&wg38=on&wg39=on'
req = sess.get(url)
print(req.status_code)

soup = BeautifulSoup(req.content, 'lxml')
tr = soup.find('table').find_all('tr')[3:-1]
for i in tr:
    a, b, c = i.find('td').stripped_strings
    link = f"https://fantlab.ru{i.a['href']}"
    print(a, b, c)
    print(link)
→ Ссылка