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 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.