Я пытаюсь войти в Gmail, просто используя запросы, а затем приступить к просмотру YouTube, выполнить некоторые поиски и т. Д. Я не хочу использовать селен или любую другую альтернативу селену, поскольку я считаю его громоздким и неудобным
Я изучал, как это сделать, и я нашел здесь несколько ответов и основал свой код этого.Однако эти решения созданы пару лет назад, и я не знаю, применимо ли оно сейчас и будет ли оно работать в той цели, к которой я хочу.
class SessionGoogle:
def __init__(self, url_login, url_auth, login, pwd):
self.ses = requests.session()
login_html = self.ses.get(url_login)
soup_login = soup(login_html.content, "lxml").find('form').find_all('input')
my_dict = {}
for u in soup_login:
if u.has_attr('value'):
my_dict[u['name']] = u['value']
# override the inputs without login and pwd:
my_dict['Email'] = login
my_dict['Passwd'] = pwd
self.ses.post(url_auth, data=my_dict)
def get(self, URL):
return self.ses.get(URL).text
url_login = "https://accounts.google.com/ServiceLogin"
url_auth = "https://accounts.google.com/ServiceLoginAuth"
session = SessionGoogle(url_login, url_auth, "gmaillogint", "gmailpass")
r = session.get("http://plus.google.com")
p = session.get("http://google.com")
yt = session.get("https://youtube.com")
Этот код взят из этого поста: Вход в Google с использованием Python?
В оригинальном сообщении говорится, что это может обрабатывать вход на любой странице службы Google.Это все еще применяется сегодня?Если да, можно ли это использовать для входа в учетную запись Google (Gmail) и просмотра YouTube?Или мне придется использовать селен?
Редактировать: я пробовал этот код, и он не привел к каким-либо ошибкам.Однако, когда я попытался напечатать r.text или r.content, я получил ошибку AttributeError: у объекта 'str' нет атрибута 'content' ". Это заставляет меня думать, что это работает не так, как должно быть.