Как авторизоваться на сайт через python используя google account?

Ссылка скопирована
1 ответ

Есть сайт.
https://profile.mipt.ru/
Я пишу для него парсер, проблема заключается в том что там "нетипичный" способ авторизации.
Т.е. я не могу получить данные которые мне нужны если я не смогу залогиниться.
Есть ли способы как нибудь авторизоваться в систему с помощью питона?

Дополнительно:

Ответы:

Selenium.
Или попробовать в requests передать cookies из браузера.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Елена Вебер Ответ

Для авторизации на сайте через Google Account с помощью Python можно использовать библиотеку `google-auth` и `google-auth-oauthlib`.

Ниже приведен пример кода, который позволит вам авторизоваться на сайте через Google Account:

from google_auth_oauthlib.flow import Flow
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
 
# Укажите ваш Client ID и Client Secret
CLIENT_ID = 'YOUR_CLIENT_ID'
CLIENT_SECRET = 'YOUR_CLIENT_SECRET'
 
# Укажите URL, на который Google будет перенаправлять после авторизации
REDIRECT_URI = 'http://localhost:8080'
 
# Создаем объект Flow для авторизации
flow = Flow.from_client_secrets_file(
    'credentials.json',
    scopes=['openid', 'profile', 'email'],
    redirect_uri=REDIRECT_URI
)
 
# Получаем URL для авторизации
auth_url, _ = flow.authorization_url()
 
# Переходим по URL и авторизуемся через Google Account
print('Перейдите по следующей ссылке для авторизации:', auth_url)
auth_code = input('Введите полученный код: ')
 
# Обмениваем код на маркер доступа
flow.fetch_token(code=auth_code)
 
# Получаем объект Credentials
credentials = flow.credentials
 
# Теперь можно использовать credentials для доступа к защищенным ресурсам на сайте

from google_auth_oauthlib.flow import Flow from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials # Укажите ваш Client ID и Client Secret CLIENT_ID = 'YOUR_CLIENT_ID' CLIENT_SECRET = 'YOUR_CLIENT_SECRET' # Укажите URL, на который Google будет перенаправлять после авторизации REDIRECT_URI = 'http://localhost:8080' # Создаем объект Flow для авторизации flow = Flow.from_client_secrets_file( 'credentials.json', scopes=['openid', 'profile', 'email'], redirect_uri=REDIRECT_URI ) # Получаем URL для авторизации auth_url, _ = flow.authorization_url() # Переходим по URL и авторизуемся через Google Account print('Перейдите по следующей ссылке для авторизации:', auth_url) auth_code = input('Введите полученный код: ') # Обмениваем код на маркер доступа flow.fetch_token(code=auth_code) # Получаем объект Credentials credentials = flow.credentials # Теперь можно использовать credentials для доступа к защищенным ресурсам на сайте

Не забудьте заменить `YOUR_CLIENT_ID` и `YOUR_CLIENT_SECRET` на свои собственные данные, которые можно получить в Google Developer Console. Также укажите корректный `REDIRECT_URI`.

Этот код поможет вам авторизоваться на сайте через Google Account с помощью Python.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно