Найти - Пользователи
Полная версия: Модуль Grab
Начало » Data Mining » Модуль Grab
1 2 3
psyh0y
Хотелось бы узнать что я не так делаю, в авторизации google, с помощью модуля grab.

 http = Grab()
        http.go('http://sites.google.com')
        http.set_input('Email',self.email)
        http.set_input('Passwd',self.password)
        http.submit('signIn')
        print http.response.body
авторизуюсь вроде как, далее:
http.go('http://sites.google.com')
- и тут снова страница без логина… теряются то ли куки то ли что не пойму. Буду благодарен за помощь.

ПРОБЛЕМА РЕШЕНА
odnochlen
Посмотри сниффером, что за запросы посылает граб. Собственный логгинг там частично поломан.
psyh0y
В общем отснифал, как оказалось, теряются куки, точнее какая то часть теряется, а какая то не обновляется, пробежался по темам на форумах, оказывается не у меня одного такая проблема. Модуль ооооооочень сырой, В итоге начал работу, по стандартной схеме: urllib2 + cookielib => Скрипт летает.
Надо бы сначала дорабатывать такие модули, а потом уже выкладывать. Работа с куками там организована, на не высоком уровне, (простейшим) Ни у кого нет мыслей, как этот модуль скрестить с cookielib ?
odnochlen
psyh0y
Модуль ооооооочень сырой
Что, простите? Какая версия граба?
psyh0y
последняя, с официального сайта.
Еще вопрос, тут уже че то застрял совсем.
есть страница:
https://sites.google.com/site/sites/system/app/pages/meta/dashboard/create-new-site
——
update: Разобрался. Проблема была в самой ссылке, гугль там символы лишние добавляет.
odnochlen
Ну интересно. Можно увидеть проблемный код и ссылки на других?
lorien
Надо бы сначала дорабатывать такие модули, а потом уже выкладывать. Работа с куками там организована, на не высоком уровне, (простейшим) Ни у кого нет мыслей, как этот модуль скрестить с cookielib ?

Ну, извините, пять лет уже дорабатываю. Поддержка кук очень простая, но в 99% этого хватает. Как-то пробовал cookielib прикрутить - не осилил :)

Мысли как прикрутить cookielib есть. Для этого надо:
* разобраться как работает Grab
* разобраться как работает cookielib
* соединить их
psyh0y
lorien
* разобраться как работает Grab
Вот тут я уже пугаюсь…
lorien
* разобраться как работает cookielib
Для чего?
Помоему достаточно знать как работать с ней, и добавить работу с ней к вашему модулю. Так как вы автор вашего модуля, вам это будет легче сделать.
————-

lorien
Поддержка кук очень простая, но в 99% этого хватает.
99% - это вы как посчитали? Пробывал с помощью вашего модуля работать с такими сайтами как google(и его поддомены), mamba(Там есть места где cookies добавляются, удаляются, редактируются, формируются через flash), facebook и во всех случаях, он меня подвел. В основном работа с куками, второстепенное, это граб форм, которые формируются через JS., JSON данные. То есть в 99 % подобной работы с куками, не хватает. Я согласен грабом можно парсить легкие странички, но там вполне можно обойтись стандартными модулями(не усложняя себе задачу).
plusplus
psyh0y
99% - это вы как посчитали? Пробывал с помощью вашего модуля работать с такими сайтами как google(и его поддомены), mamba(Там есть места где cookies добавляются, удаляются, редактируются, формируются через flash), facebook и во всех случаях, он меня подвел. В основном работа с куками, второстепенное, это граб форм, которые формируются через JS., JSON данные. То есть в 99 % подобной работы с куками, не хватает. Я согласен грабом можно парсить легкие странички, но там вполне можно обойтись стандартными модулями(не усложняя себе задачу).

По-моему, автор, не сумевши разобраться с грабом, решил обвинить его в кривизне =) Типа “Да ну вашу бензопилу, она сама дров не напилит и домой не принесет, я лучше топориком, ведь для бензопилы нужен бензин и её заводить надо, зачем усложнять задачу себе”

Grab не умеет заполнять “js-формы”, это достаточно сложная задача на мой взгляд, но никто не мешает заполненную грабом форму подправить как надо, сэкономив время на том, что не придется парсить и переписывать часть POST-данных. В крайнем случае можно вообще не юзать плагин заполнения форм, а делать все запросы также вручную. Как минимум grab уже лучше всяких urllib и прочих хотя бы за то, что для переход по url нужно написать одну строчку grab.go(). А там еще столько вкусностей…

P.S. Вообще меня так задело, наверное больше даже чем lorien'a, я им столько скриптов написал, он мне такую кучу времени сэкономил, и тут такое резюме: “модуль оооочень сырой”, просто facepalm вообще =)
odnochlen
Хотелось бы, чтобы ТС привел пример глючащего запроса, если он уже критикует. У граба есть, конечно, глючки и непонятки, но базовый функционал у меня пока что работал.

Надеюсь, ТС не хочет от http клиента, чтобы он интерпретировал js и flash (тогда ему дорога к Selenium & co, которые и жрут больше)?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB