Найти - Пользователи
Полная версия: Вопрос по авторизации через Grab
Начало » Network » Вопрос по авторизации через Grab
1
aiscy
Здравствуйте!
Пытаюсь авторизироваться на сайте Pixabay с помощью библиотеки Grab
g = Grab()
g.go("https://pixabay.com/en/accounts/login")
g.choose_form(1)
g.set_input('username', LOGIN)
g.set_input('password', PASSWORD)
g.submit()
g.go('https://pixabay.com/en/photos/download/pasta-527286_1280.jpg')
print(g.response.body)
В итоге меня перекидывает на страничку ввода капчи, т.к. я не авторизирован.
Еще пробовал так:
g.choose_form(xpath='//form[@class="right_side pure-form"]')
g.set_input_by_xpath('//input[@id="id_username"]', LOGIN)
g.set_input_by_xpath('//input[@id="id_password"]', PASSWORD)
И так:
g.submit(extra_post={'username': LOGIN, 'password': PASSWORD, 'next': ''})
Результат не меняется.
Пробовал авторизироваться на сайте через браузер с отключенным JavaScript, полет нормальный.

Интереса ради попробовал через Selenium, все получилось, но хотелось бы через Grab.
Пните, пожалуйста, в сторону решения.
werter
Снифайте трафик, когда авторизовуетсь через браузер и сравнивайте с тем, что отправляет ваш скрипт
noob_saibot
from grab import Grab
g = Grab()
g.setup(log_file='C:/Python27/log.jpg')
g.go("https://pixabay.com/ru/accounts/login/?next=/")
g.doc.set_input("username","bla")
g.doc.set_input("password","bla")
g.doc.submit()
g.go("https://pixabay.com/en/photos/download/pasta-527286_1280.jpg")
Проверил, работает. Зачем вы выбираете форму и вводите по имени?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB