Здравствуйте.
Хочу для автоматизации определенных задач распарсить форум demiart.ru. Для просмотра тем там требуется авторизация. Логин и пароль у меня, конечно, есть. Пробую авторизоваться по этому уроку:
https://kazuar.github.io/scraping-tutorial/
Собственно, мой код взят оттуда с минимальными изменениями:
import requests
from lxml import html
LOGIN_URL = "http://demiart.ru/forum/index.php?"
URL = "http://demiart.ru/forum/index.php?showtopic=8436"
session_requests = requests.session()
payload = {
"UserName": USERNAME,
"PassWord": PASSWORD,
"submit": 'Войти',
}
result = session_requests.post(LOGIN_URL, data=payload, headers=dict(referer=LOGIN_URL))
result = session_requests.get(URL, headers=dict(referer=URL))
tree = html.fromstring(result.content)
theme_title = tree.xpath(".//div[@class='f_break tablefixed']")
print(theme_title)
Форум не имеет явной страницы логина - это можно сделать где угодно, потому указал в качестве таковой главную. csrf_token, упоминаемый в уроке, здесь отсутствует. Для примера хочу вытащить хотя бы название любой темы (xpath уже проверен).
В ответ получаю прежнюю страницу без авторизации. По сути у меня даже дерево элементов не получается (распечатываю tree и вижу только
<Element html at 0x3b3a188>
).
В сём деле совсем новичок. Возможно, нужно больше данных (например, куки)? Или нужно это как-то иначе делать?