Найти - Пользователи
Полная версия: Проблема с mechanize (веб-робот)
Начало » Network » Проблема с mechanize (веб-робот)
1
Turbid
Нужно зайти на сайт, залогиниться, пройтись по 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)
"
Как понять что ему не нравиться и что он не может распарсить?
Turbid
Решил проблему, подменив html-код на только одну нужную форму:

my_data = “”“
<form>



</form>
”“”
rs.set_data(my_data)
br.set_response(rs)
sypper-pit
форму через “”“>>> import re”“” ? делаешь….
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