Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2015 22:09:14

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Grab'e Авторизация

Notan1310
может показаться что авторизированы
Вы правы
Я когда то тоже с грабом не зашел кажется в ВК
Потом взял requests и зашел

Офлайн

#2 Янв. 18, 2015 22:11:21

Alex_HH
Зарегистрирован: 2014-03-03
Сообщения: 91
Репутация: +  13  -
Профиль   Отправить e-mail  

Grab'e Авторизация

Notan1310
g.choose_form(1)

Попробуйте явно указать айди формы, ибо на той странице их несколько.

g.choose_form(id="login-form")



————–
Зимой и летом heavy metall.
Технический прогресс - это падение вверх. Alex_HH (с)
Эстетизация жестокости есть квинтэссенция смысла человеческого существования. Alex_HH (с)
После бога идет не пустота, там метаданные. Alex_HH (с)

Офлайн

#3 Янв. 18, 2015 22:13:15

Notan1310
Зарегистрирован: 2014-09-14
Сообщения: 98
Репутация: +  0  -
Профиль   Отправить e-mail  

Grab'e Авторизация

Не понимаю почему в этом случае поля остаются пустыми при использований простого заполнения форм. Ошибок не выкидывает. Аналогичным способом несколько кабинетов других сервисов опробовал и все нормально работает. В этом случает только post запросом удалось заполнить форму однако на кнопку не в силах почему то нажать

# -*- coding: utf-8 -*-
from grab import Grab
import time, random
import logging
logger = logging.getLogger('grab')
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)
headers = {
           '(Request-Line)':'GET / HTTP/1.1',
           'Host':'fotostrana.ru',
           'User-Agent' : 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0',
           'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
           'Accept-Language' : 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
           'Accept-Encoding' : 'gzip, deflate',
           'Referer' : 'http://fotostrana.ru/signup/login/',
           'Cookie' :'',
           'Connection' : 'keep-alive'
           }
value = {
        'csrftkn':'a285ead63a6f684aece048fbc2f9969e',
        'user_email': 'fedorovna.tonya@4**0mail.ru',
        'user_password':'iet***uj9',
        'submitted':'1',
        'issetFields[]':'csrftkn',
        'issetFields[]':'user_email',
        'issetFields[]':'user_password', 
        'issetFields[]':'submitted',
        '_fs2ajax':'1'       
        }
g = Grab( headers=headers)
g.setup(hammer_mode=True, hammer_timeouts=((2, 5), (10, 15), (20, 30)))
g.go('http://fotostrana.ru/signup/login/', log_file='outtest.html')
time.sleep(3)
for elem in g.doc.select(".//*[@name='csrftkn']"):
    
    csrftkn = elem.attr('value')
    
value['csrftkn'] = csrftkn
g.setup(multipart_post=value)
g.request()
g.choose_form(xpath==".//*[@id='login-form']")
g.set_input_by_xpath(".//*[@id='user_email']", "fedorovna.to**nya@40mail.ru")
g.set_input_by_xpath(".//*[@id='user_password']", "iet**uj9")
#g.submit(".//*[@id='loginPopupSubmitButton']")
time.sleep(2)
#g.go('http://fotostrana.ru')

Отредактировано Notan1310 (Янв. 18, 2015 22:16:19)

Офлайн

#4 Янв. 18, 2015 22:15:33

Notan1310
Зарегистрирован: 2014-09-14
Сообщения: 98
Репутация: +  0  -
Профиль   Отправить e-mail  

Grab'e Авторизация

Alex_HH
Попробуйте явно указать айди формы, ибо на той странице их несколько.

Да я так уже делал. И xpath и всяко разно не получается

g.choose_form(id="login-form")

Офлайн

#5 Янв. 18, 2015 22:17:14

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Grab'e Авторизация

Думаю все таки я захожу, просто я в тот момент удалил фото, а без него акк не активен. Теперь все ок.
Проверил на всяк случай, точно зашел. Спарсил инфу со страницы настроек

Отредактировано Kasta_neda (Янв. 18, 2015 22:21:21)

Офлайн

#6 Янв. 18, 2015 22:21:12

Notan1310
Зарегистрирован: 2014-09-14
Сообщения: 98
Репутация: +  0  -
Профиль   Отправить e-mail  

Grab'e Авторизация


Kasta_neda
Думаю все таки я захожу, просто я в тот момент удалил фото, а без него акк не активен. Теперь все ок.

В верхнем правом углу я для проверки использую наличие имени. Проверьте пожалуйста.

.//*[@id='header-user-menu']/a/span

Офлайн

#7 Янв. 18, 2015 22:22:37

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Grab'e Авторизация

я уже и свой мыльник посмотрел

g.go("http://fotostrana.ru/userinfo/room/settings/", log_file='outtest2.html')
for elem in g.doc.select('//*[@id="js-settings-form"]/div[1]/div[2]/div[1]'):
    print (elem.text()),

И имя тоже

Отредактировано Kasta_neda (Янв. 18, 2015 22:24:23)

Офлайн

#8 Янв. 18, 2015 22:27:51

Notan1310
Зарегистрирован: 2014-09-14
Сообщения: 98
Репутация: +  0  -
Профиль   Отправить e-mail  

Grab'e Авторизация

У меня даже по вашему кодесу не заходит. Вот
http://pixs.ru/showimage/Snimokekra_5716217_15651109.png

from grab import Grab
g=Grab()
#print g.xpath_text('//*')
g.go("http://fotostrana.ru/signup/login/")
print g.form
g.choose_form(1)
g.set_input('user_email', 'fedorovna.t**ya@40mail.ru')
g.set_input('user_password', 'ie**j9')
g.submit()
g.go("http://fotostrana.ru/user/79020867/", log_file='outtest.html')

Подскажите пожалуйста в чем может быть причина?

Отредактировано Notan1310 (Янв. 18, 2015 22:29:37)

Офлайн

#9 Янв. 18, 2015 22:35:28

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Grab'e Авторизация

вот формы

==> at http://fotostrana.ru/signup/login/
Form #1
## ## __Name__________________ __Type___ __ID________ __Value__________________
1     ftoken-fSignup           hidden    ftoken-f ... 98fcc4eb4e 
2     csrftkn                  hidden    (None)       d01d6a64e2b7a93dc85dc40be4427767 
3     submitted                hidden    (None)       1 
4     user_name                text      userName      
5     user_sex                 radio     (None)       [] of ['m', 'w'] 
6     user_email               text      userEmail     
7  1  None                     submi ... btnRegister  Зарегистрироваться 
8     terms_agree              checkbox  (None)       ['on'] of ['on'] 
Form #2
## ## __Name__________________ __Type___ __ID________ __Value__________________
1     csrftkn                  hidden    (None)       d01d6a64e2b7a93dc85dc40be4427767 
2     user_email               text      user_email    
3     user_password            password  user_pas ...  
4  1  None                     submi ... loginPop ... Войти на сайт 
5     submitted                hidden    (None)       1 
Note: submit is using submit button: name="None", value="Войти на сайт"
захожу по второй форме
g.choose_form(1)

Отредактировано Kasta_neda (Янв. 18, 2015 22:37:00)

Офлайн

#10 Янв. 18, 2015 22:45:09

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Grab'e Авторизация

Пароль не меняли? Или еще какие данные?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version