Уведомления

Группа в Telegram: @pythonsu

#1 Июль 29, 2015 12:35:19

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с Grab и формой заполнения

artexnet
g = Grab()
g.cookies.set(name='PHPSESSID', value=session_id, domain='baby.ru', path='/')
response = g.go('http://www.baby.ru/')

Хм….

GrabInvalidUrl: decode() takes no keyword arguments: http://www.baby.ru/

Офлайн

#2 Июль 29, 2015 15:04:36

artexnet
Зарегистрирован: 2015-06-22
Сообщения: 13
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с Grab и формой заполнения

Не знаю что у вас не так, но можно написать по другому. Кроме того лучше использовать headers вместо cookies по отдельности (моя ошибка). Вот этот код я только что протестировал:

.......
r = requests.post('http://www.baby.ru/api/login', data=payload, headers=headers)
session_id = r.cookies['PHPSESSID']
session_cookie = 'PHPSESSID=%s; autoinv=1; __utmt=1; __utma=128540319.586527498.1438095916.1438156378.1438159360.5; __utmb=128540319.8.10.1438159360; __utmc=128540319; __utmz=128540319.1438095916.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ga=GA1.2.586527498.1438095916; _dc_gtm_UA-7644050-2=1; live_stream_main=posts; live_stream_type=all; id=404671912' % session_id
page_headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Cookie': session_cookie,
    'Host': 'www.baby.ru',
    'Referer': 'http://www.baby.ru/',
}
g = Grab(log_file='baby.ru.html')
g.setup(headers=page_headers)
g.go(url='http://www.baby.ru/')

В cookies много параметров которые нужно проверить, что нужно что нет, чтобы код был чистым.

Офлайн

#3 Авг. 12, 2015 20:19:36

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Помогите с Grab и формой заполнения

from grab import Grab
g = Grab()
post = {
    'login': 'testpyt@valemail.net',
    'password': 'testpyttestpyt',
}
headers = {
    'X-METHOD': 'post',
    'X-Requested-With': 'XMLHttpRequest',
}
g.go('http://www.baby.ru/api/login', post=post, headers=headers)
g.go(url='http://www.baby.ru/')

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version