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)
