Справочная информация:
Используя urllib и urllib2 в Python, вы можете отправить форму.
Сначала вы создаете словарь.
formdictionary = { 'search' : 'stackoverflow' }
Затем вы используете метод urlencode urllib для преобразования этого словаря.
params = urllib.urlencode(formdictionary)
Теперь вы можете сделать URL-запрос с помощью urllib2 и передать переменные params в качестве вторичного параметра, причем первым параметром является url.
open = urllib2.urlopen('www.searchpage.com', params)
Насколько я понимаю, urlencode автоматически кодирует словарь в html и добавляет тег ввода. Ключ принимает атрибут имени. Значение в словаре принимает значение атрибута name. Urllib2 отправляет этот HTML-код через запрос HTTP POST.
Проблема:
Это нормально, если HTML-код, который вы отправляете, отформатирован стандартным способом с вводом html-тега с атрибутом name.
<input id="32324" type="text" name="search" >
Но есть ситуация, когда HTML-код неправильно отформатирован. И тэг html input имеет только атрибут id без атрибута name. Есть ли другой способ доступа к тегу ввода через атрибут id? Или есть еще один способ?
Решение: