Задать вопрос
@JHik

Авторизация на Ютуб с помощью Requests модуля?

И так, моя проблема с авторизацией на YouTube:
Для начала проясню:
Я не использую/не буду использовать YouTube api. (т.к api не позволяет в полной мере удовлетворить мои требования)

Суть проблемы в окне авторизации:
import requests

headers = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"

class YouTube:

    def __init__(self, username, password):
        self.username = username
        self.password = password
        LOGIN_FORM = {
           ... # ВСЕ данные, все данные были взяты с помощью Google Chrome Dev Tools
        }
        with requests.Session() as s:
            s.headers = self.headers
            s.post(url=LOGIN_URL, data=LOGIN_FORM)
            print(s.text) # Окно авторизации
            print(s.url) # тот же URL, без редиректа, ничего не произошло.
            print(s.get('https://myaccount.google.com/?pli=1').text) # возвращает в окно авторизации
    .... #####


Проблема в том, что POST запрос не работает, он ничего не делает.
  • Вопрос задан
  • 462 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
teke_teke
@teke_teke
programador
возможно, без Selenium или headless browser тут не обойтись. Например, в гугле много чего нельзя сделать просто отправив запрос, если не через api, там еще нужно чтобы js выполнился в браузере сначала.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
InvictusManeo
@InvictusManeo
P.A.N.D.E.M.I.C.
Вот пример запроса на маил ру
Вся суть в том, что заголовки у всех разные и страница авторизации - тоже. Смотри в браузере GET и POST запросы. Куда и что они направляют. Ну и подставляй их в requests. Разумеется, сегодня, почти все перешли на сессии, куки, токены.

with requests.Session() as session:
	# start of auth
	s = Session()
	AUTH_URL = 'https://auth.mail.ru/cgi-bin/auth'
	headers = {
		'Login': 'втойящик@mail.ru',
		'Password': 'твой пароль',
		'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11.6; rv:51.0.1) Gecko/20100101 Firefox/51.0.1',
		'Content-Type': 'application/x-www-form-urlencoded',
		'Connection': 'keep-alive',
		'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
		'Referer': 'http://mail.ru/',
		'remember': 1,
	}
	# Отправляем данные в POST, в session записываются наши куки
	s.post(AUTH_URL, headers)
	# end auth
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы