Авторизация на сайте и парсинг BS4

orlov1

Новичок
Пользователь
Июн 23, 2021
48
2
8
Всем привет!

Имеется код, который должен авторизоваться на сайте и выводить ID пользователя:

Python:
import requests
from lxml import html
from bs4 import BeautifulSoup

url = 'https://secure.simmarket.com/login.php?action=process'
url_out = 'https://secure.simmarket.com/logoff.php?'

username = 'stepanovatai@yandex.ru'
password = 'stepanovatai'

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240'}

s = requests.Session()
req = s.post(url, data={'email_address': username, 'password': password}, headers=headers)
soup = BeautifulSoup(req.text, "html.parser")
userid = soup.find('small', class_='user-menu__id')
print(userid)

Код не работает, не могу понять почему. Помогите разобраться.

Спасибо.
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
374
108
43
Вот так у меня заработало

Python:
import requests
from bs4 import BeautifulSoup

url = 'https://secure.simmarket.com/login.php'
# url_out = 'https://secure.simmarket.com/logoff.php?'

username = 'stepanovatai@yandex.ru'
password = 'stepanovatai'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240',
    '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.7',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
    'Connection': 'keep-alive',
    'Cookie': 'cookie_test=please_accept_for_session; simSID=abnnvhrtbfcogkcihv9ouqpvf0; '
              'email_address=stepanovatai%40yandex.ru; first_name=tai',
    'DNT': '1',
    'Host': 'secure.simmarket.com',
}
data = {
    'email_address': username,
    'password': password
}

s = requests.Session()
req = s.post(url, data=data, headers=headers)
soup = BeautifulSoup(req.text, 'html.parser')
userid = soup.find('small', class_='user-menu__id')
print(userid.text.strip(' \n'))
 

orlov1

Новичок
Пользователь
Июн 23, 2021
48
2
8
Вот так у меня заработало

Python:
import requests
from bs4 import BeautifulSoup

url = 'https://secure.simmarket.com/login.php'
# url_out = 'https://secure.simmarket.com/logoff.php?'

username = 'stepanovatai@yandex.ru'
password = 'stepanovatai'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240',
    '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.7',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
    'Connection': 'keep-alive',
    'Cookie': 'cookie_test=please_accept_for_session; simSID=abnnvhrtbfcogkcihv9ouqpvf0; '
              'email_address=stepanovatai%40yandex.ru; first_name=tai',
    'DNT': '1',
    'Host': 'secure.simmarket.com',
}
data = {
    'email_address': username,
    'password': password
}

s = requests.Session()
req = s.post(url, data=data, headers=headers)
soup = BeautifulSoup(req.text, 'html.parser')
userid = soup.find('small', class_='user-menu__id')
print(userid.text.strip(' \n'))

У меня не работает этот код. Выдает:

Код:
Traceback (most recent call last):
  File "test.py", line 31, in <module>
    print(userid.text.strip(' \n'))
AttributeError: 'NoneType' object has no attribute 'text'
 

Форум IT Специалистов