Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 15, 2012 09:58:29

Seganapa
От: Новороссийск
Зарегистрирован: 2012-07-31
Сообщения: 139
Репутация: +  0  -
Профиль   Отправить e-mail  

Selenium + Grab

Значит именно движок Firefox встроить не получится? Очень жаль… Кто-нибудь вообще писал полноценного бота для online игр на Python? Может есть какой-то другой способ реализовать этот момент?



—————————————————————–
Изучаю и параллельно использую Python 2.7

Отредактировано Seganapa (Окт. 15, 2012 10:01:10)

Офлайн

#2 Окт. 15, 2012 13:37:17

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Офлайн

#3 Окт. 15, 2012 15:15:20

Seganapa
От: Новороссийск
Зарегистрирован: 2012-07-31
Сообщения: 139
Репутация: +  0  -
Профиль   Отправить e-mail  

Selenium + Grab

Это немного не то… Вы меня не поняли! Сам бот я уже написал… Теперь мне нужно создать для него интерфейс…



—————————————————————–
Изучаю и параллельно использую Python 2.7

Офлайн

#4 Окт. 16, 2012 12:44:01

Seganapa
От: Новороссийск
Зарегистрирован: 2012-07-31
Сообщения: 139
Репутация: +  0  -
Профиль   Отправить e-mail  

Selenium + Grab

Возможно мне бы подошел Spynner http://packages.python.org/spynner/
Но что-то не могу разобрать

Например

from spynner import browser  
url = 'http://google.com'
br = browser.Browser()  
br.create_webview()  
br.show()  
br.load(url) 

Открывается на несколько секунд окошко и потом исчезает
Сообщение: QWaitCondition: Destroyed while threads are still waiting

Как в Spynner сделать так, чтобы окно оставалось и можно было продолжать серфинг?



—————————————————————–
Изучаю и параллельно использую Python 2.7

Офлайн

#5 Окт. 17, 2012 08:23:33

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Selenium + Grab

На днях тоже столкнулся с проблемой. Граб упорно не проходит авторизацию на одном сайте. Грешил на то что не удаляются куки срок которых истёк (есть пара таких на сайте), сделал удаление - не прошло. Причем сам сайт со страницы авторизации редиректит сразу на главную (мол авторизация прошла), а главная редиректит на страницу авторизации (мол фиг тебе).
Селениум конечно же работает в таком случае без вопросов (браузер же).
Но мне в отличии от топикстартера, наоборот не надо выводить процесс действий, да и логика уже под Граб написана.
Было бы неплохо если бы можно было передать из Селениума в Граб все параметры, чтобы сайт при этом ничего не заподозрил. Простая передача куки не работает.

Спасибо за линк на Спайнер, попробую его ещё.



Отредактировано Griffon (Окт. 17, 2012 08:25:31)

Офлайн

#6 Окт. 17, 2012 09:50:31

Seganapa
От: Новороссийск
Зарегистрирован: 2012-07-31
Сообщения: 139
Репутация: +  0  -
Профиль   Отправить e-mail  

Selenium + Grab

Блин, я уже кучу модулей перепробовал, но то что мне нужно так и не реализовал… Одна надежда на Spynner осталась. Щас упорно его ковыряю…



—————————————————————–
Изучаю и параллельно использую Python 2.7

Офлайн

#7 Окт. 17, 2012 18:00:19

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Selenium + Grab

Griffon
Граб упорно не проходит авторизацию на одном сайте.
А можно код или лог запросов? Сколько слышал про глючный граб, но ни разу не видел примеров.

Отредактировано odnochlen (Окт. 17, 2012 18:00:49)

Офлайн

#8 Окт. 18, 2012 07:13:14

Seganapa
От: Новороссийск
Зарегистрирован: 2012-07-31
Сообщения: 139
Репутация: +  0  -
Профиль   Отправить e-mail  

Selenium + Grab

Ну не знаю…
Уже несколько маленьких проектов на Grab писал, ни разу меня не подводил… Отрабатывает все как нужно. Может пока везет!



—————————————————————–
Изучаю и параллельно использую Python 2.7

Офлайн

#9 Окт. 18, 2012 08:45:01

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Selenium + Grab

Я не говорил что Граб глючный, а сказал что он упорно не хочет. Вполне возможно он не хочет потому, что я делаю что-то не так.

Код без проверок и прочего:

g = Grab(log_dir='log', follow_refresh=True)
g.go(''http://aukro.ua/myaccount/')
g.set_input('user_login', login)
g.set_input('user_password', password)
g.submit()

Собственно лог:
http://fileshare.in.ua/6823914

Из интересных фактов. На сайте две разных формы авторизации. Меняются они как-то по времени. С одной формой, авторизация проходит, а со второй нет.



Офлайн

#10 Окт. 18, 2012 21:41:24

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Selenium + Grab

Griffon, я никогда set_input не юзал, вместо этого напрямую создавал запрос. В таком виде проблем не было.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version