Seganapa
Окт. 15, 2012 09:58:29
Значит именно движок Firefox встроить не получится? Очень жаль… Кто-нибудь вообще писал полноценного бота для online игр на Python? Может есть какой-то другой способ реализовать этот момент?
odnochlen
Окт. 15, 2012 13:37:17
Seganapa
Окт. 15, 2012 15:15:20
Это немного не то… Вы меня не поняли! Сам бот я уже написал… Теперь мне нужно создать для него интерфейс…
Seganapa
Окт. 16, 2012 12:44:01
Возможно мне бы подошел 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 сделать так, чтобы окно оставалось и можно было продолжать серфинг?
Griffon
Окт. 17, 2012 08:23:33
На днях тоже столкнулся с проблемой. Граб упорно не проходит авторизацию на одном сайте. Грешил на то что не удаляются куки срок которых истёк (есть пара таких на сайте), сделал удаление - не прошло. Причем сам сайт со страницы авторизации редиректит сразу на главную (мол авторизация прошла), а главная редиректит на страницу авторизации (мол фиг тебе).
Селениум конечно же работает в таком случае без вопросов (браузер же).
Но мне в отличии от топикстартера, наоборот не надо выводить процесс действий, да и логика уже под Граб написана.
Было бы неплохо если бы можно было передать из Селениума в Граб все параметры, чтобы сайт при этом ничего не заподозрил. Простая передача куки не работает.
Спасибо за линк на Спайнер, попробую его ещё.
Seganapa
Окт. 17, 2012 09:50:31
Блин, я уже кучу модулей перепробовал, но то что мне нужно так и не реализовал… Одна надежда на Spynner осталась. Щас упорно его ковыряю…
odnochlen
Окт. 17, 2012 18:00:19
Griffon
Граб упорно не проходит авторизацию на одном сайте.
А можно код или лог запросов? Сколько слышал про глючный граб, но ни разу не видел примеров.
Seganapa
Окт. 18, 2012 07:13:14
Ну не знаю…
Уже несколько маленьких проектов на Grab писал, ни разу меня не подводил… Отрабатывает все как нужно. Может пока везет!
Griffon
Окт. 18, 2012 08:45:01
Я не говорил что Граб глючный, а сказал что он упорно не хочет. Вполне возможно он не хочет потому, что я делаю что-то не так.
Код без проверок и прочего:
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Из интересных фактов. На сайте две разных формы авторизации. Меняются они как-то по времени. С одной формой, авторизация проходит, а со второй нет.
odnochlen
Окт. 18, 2012 21:41:24
Griffon, я никогда set_input не юзал, вместо этого напрямую создавал запрос. В таком виде проблем не было.