Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2009 14:56:13

Turbid
От:
Зарегистрирован: 2009-07-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с mechanize (веб-робот)

Нужно зайти на сайт, залогиниться, пройтись по https-сылкам и заполнить одну форму. Со всем справился кроме последнего - при попытке поработать с формами на нужной страничке питон ругается:

from mechanize import Browser

url_root = 'http://www.xxx.ru/'
username = 'xxx'
userpass = 'yyy'

br = Browser()
br.set_handle_robots(False)

br.open(url_root)

br.select_form(nr=2)
br["login"] = username
br["password"] = userpass
br.submit()

br.follow_link(text='xxx', nr=0)
#print rs.read()
rs = br.follow_link(text='yyy', nr=0)

print rs.read() # << здесь все хорошо, html выводится

br.select_form(nr=0) # << а вот тут ошибка:

"Traceback (most recent call last):
File "./mailc.py", line 35, in <module>
br.select_form(nr=0)
File "/usr/lib/python2.5/site-packages/mechanize/_mechanize.py", line 492, in select_form
for form in self.forms():
File "/usr/lib/python2.5/site-packages/mechanize/_mechanize.py", line 414, in forms
return self._factory.forms()
File "/usr/lib/python2.5/site-packages/mechanize/_html.py", line 534, in forms
self._forms_factory.forms())
File "/usr/lib/python2.5/site-packages/mechanize/_html.py", line 226, in forms
raise ParseError(exc)
"
Как понять что ему не нравиться и что он не может распарсить?



Офлайн

#2 Июль 15, 2009 00:34:13

Turbid
От:
Зарегистрирован: 2009-07-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с mechanize (веб-робот)

Решил проблему, подменив html-код на только одну нужную форму:

my_data = “”“
<form>



</form>
”“”
rs.set_data(my_data)
br.set_response(rs)



Офлайн

#3 Июль 15, 2009 18:58:55

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Проблема с mechanize (веб-робот)

форму через “”“>>> import re”“” ? делаешь….

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version