Беда с парсером на сайте с BeautifulSoup - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь войти в систему с помощью скрипта на сайте: https://interpals.net/app/auth/login Мой код следующий

#! /usr/bin/env python
# -*- coding: utf-8 -*-

from requests import Session
from bs4 import BeautifulSoup as bs

with Session() as s:
    site = s.get("https://interpals.net/app/auth/login")
    bs_content = bs(site.content, "html.parser")
    token = bs_content.find("input", {"name":"csrf_token"})["value"]
    login_data = {"username":"user","password":"pass'", "csrf_token":token}
    s.post("https://interpals.net/app/auth/login",login_data)
    home_page = s.get("https://interpals.net/pm.php")

Моя первая проблема заключается в том, что, когда я пишу параметр "html.parser"Я не получаю правильный синтаксический анализатор, на самом деле, я даже не получаю правильный HTML, это то, что я получил

https://paste.fedoraproject.org/paste/K1SCjKBG7CAigUH4GX7qUQ

Когда я изменяю "html.parser" на "lxml "или" html5lib "Я действительно получаю HTML-форму, которая выглядит так:

https://paste.fedoraproject.org/paste/4w-AT20kTIXoAmgsPmpqIQ

Однако в этом последнем я не нашел входной файл csrf_token, который мне нужен вЧтобы войти, кто-нибудь может дать совет, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...