Форум сайта python.su
Здраствуйте.
В целях свой работы контентщика пользовался mechanize и beautifulsoup для заполнения форм, авторизации и парсинга контента (или же его добавление на сайты). Сейчас присмотрел с виду чудесную библиотеку Grab, html парсит отменно но возникла проблема с авторизацией.
Ранее с помощью мечанизе удавалось заходить под логином на сайт интернет магазина. Сейчас пробую с Grab.
Вот код
## -*- coding: utf-8 -*- from lxml.html import fromstring from grab import Grab g = Grab(log_file="out.html") g.go("http://www.site.com/user") g.choose_form(1) g.set_input_by_id("edit-name-2", "admin") g.set_input_by_id("edit-pass-1", "***") g.submit() print "end"
Офлайн
FonVald
Где форма ?
Офлайн
Singularity
FonValdГде форма ?
<form action="/user" accept-charset="UTF-8" method="post" id="user-login-1"> <div><input type="hidden" name="form_build_id" id="form-04db4994fd5e3b34a2963b193d1ea970" value="form-04db4994fd5e3b34a2963b193d1ea970" /> <input type="hidden" name="form_id" id="edit-user-login-1" value="user_login" /> <div class="form-item" id="edit-name-2-wrapper"> <label for="edit-name-2">Логин: <span class="form-required" title="Это поле обязательно к заполнению.">*</span></label> <input type="text" maxlength="60" name="name" id="edit-name-2" size="60" value="" class="form-text required" /> <div class="description">Ваш логин на сайте ***.</div> </div> <div class="form-item" id="edit-pass-1-wrapper"> <label for="edit-pass-1">Пароль: <span class="form-required" title="Это поле обязательно к заполнению.">*</span></label> <input type="password" name="pass" id="edit-pass-1" maxlength="128" size="60" class="form-text required" /> <div class="description"> </div> </div> <input type="submit" name="op" id="edit-submit-2" value="Вход" class="form-submit" /> <a href="/user/password" rel="nofollow" class="forgot-pass">Напомнить пароль</a> </div></form>
Отредактировано FonVald (Март 7, 2014 17:07:54)
Офлайн
Давайте реальный адрес сайта и работающие логин-пароль - посмотрим.
Офлайн
lorienСтранно, только что сделал нового пользователя и успешно авторизировался.
Давайте реальный адрес сайта и работающие логин-пароль - посмотрим.
Отредактировано FonVald (Март 11, 2014 09:53:56)
Офлайн
Попробуйте сетевым снифером сравнить трафик из граба и трафик из браузера, может быть, найдёте различия. Нужно смотреть HTTP-заголовки, куки, ну и содержимое POST
Офлайн
lorien
Попробуйте сетевым снифером сравнить трафик из граба и трафик из браузера, может быть, найдёте различия. Нужно смотреть HTTP-заголовки, куки, ну и содержимое POST
Офлайн