Вход в Google с помощью запросов и переход на YouTube - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь войти в 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' ". Это заставляет меня думать, что это работает не так, как должно быть.

1 Ответ

0 голосов
/ 25 декабря 2018

Это не сработает.Страница входа Google значительно изменилась с тех пор, как этот пост был написан в 2014 году. Теперь он включает в себя некоторые важные функции безопасности, которые предназначены для предотвращения автоматического входа в систему.

Если вам необходимо пройти аутентификацию в службе Google, возможно, у них есть APIдля этого;Подробнее см. Использование OAuth 2.0 для доступа к API Google .Тем не менее, не существует API для «просмотра Youtube, поиска и т. Д.».

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