LINUX.ORG.RU

Питон и форма


0

0
from urllib2 import urlopen from ClientForm import ParseResponse

response = urlopen("http://ссылка.сформой.ру/") forms = ParseResponse(response, backwards_compat=False) form = forms[0] print form form["comments"] = "Thanks, Gisle"

Это как бы стандартный пример из документации библиотеки к питону http://wwwsearch.sourceforge.net/ClientForm/

И пример очень даже рабочий. Но вот есть беда в том, что если форма в хтмэле пустая, да еще и без названия - то он ее попросту не замечает и в итоге выдает такую ошибку:

form = forms[0] IndexError: list index out of range

Подскажите, как проще всего наконец сунуть в эту форму информацию и засубмитить на сайт с помощью питона?

Перемещено JB из Talks

★★★★★
> Подскажите, как проще всего наконец сунуть в эту форму информацию и засубмитить на сайт с помощью питона?

Не пытаться парсить html, а генерировать сразу POST-запрос. Работает для любого языка, а не только для петона.
gaa ★★
()
Ответ на: комментарий от gaa
Знать бы как его генерить ;)
Siado ★★★★★
() автор топика
Ответ на: комментарий от EmStudio
Хех, к стате курл штука хорошая, но я на педоне научиться хоче
Siado ★★★★★
() автор топика
Ответ на: комментарий от h8
Тут то примеров на одну строчку, но надо блин гугль рыть О_о
Siado ★★★★★
() автор топика
Ответ на: комментарий от Siado
Так повелось, что питон учат умные люди, а руби - такие как ты.
mamay_cozak
()
Ответ на: комментарий от phasma
Може сам со своей сдружишься? Если оно просто не парсит никакую форму, оно не запишет ее в массив. Если влепить try просто не выскочит ошибка, но формы от этого не появится.
Жду извинений или опровержений
Siado ★★★★★
() автор топика
Ответ на: комментарий от phasma
Ептить. Нашел в чем беда.
Оно не работает даже с вот этим вот:

try:
form = forms[0]
except:
form = forms # just in case it's a string
print form

Ибо urlopen("bla") вообще не парсится.
Siado ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.