А каким образом вы пытаетесь ее (проблему) решить?
Пробуем:
1. Chrome ->
http://baby.ru -> View Source -> Ctrl+F -> name=“login” - ничего не найдено.
Логично, что Grab выдает ошибку, так как такого элемента там нету.
Идем дальше, ведь кнопка “Вход” на сайте все таки имеется…
2. Chrome -> Menu -> More Tools -> Developer Tools -> Network. Нажимаем на “Вход”, набираем любые значения, нажимаем “Войти”, смотрим на вкладку “Network”, замечаем “login/”, нажимаем, в инфо Headers -> Request URL…
Стоп!
3. Оказывается авторизация происходит при помощи API -
http://www.baby.ru/api/login/ (Form Data - login:<email>; password:<pass>)
Получается что нужно:
- отправить POST запрос
- получить cookie авторизации
- использовать этот самый cookie в последующих запросах
В итоге получаем следующее:
import requests
from grab import Grab
payload = {
'login': 'laro@flurred.com',
'password': 'testPy',
}
r = requests.post('http://www.baby.ru/api/login', data=payload)
session = r.headers.get('set-cookie')
session_id = session.split(';')[0].split('=')[1]
g = Grab()
g.cookies.set(name='PHPSESSID', value=session_id, domain='baby.ru', path='/')
response = g.go('http://www.baby.ru/')
print session_id
print response.body