механизация: первая форма работает, затем «неизвестный тип кодировки формы GET« utf-8 »»

Я пытаюсь заполнить 2 формы с веб-сайта EUR-Lex, чтобы записать некоторые данные с созданной веб-страницы. Я застрял в форме №2. Я чувствую, что это должно быть легко, и я немного изучил, но не повезло.

import mechanize froot = '...' f = open(froot + 'text.html', 'w') br = mechanize.Browser() br.open('http://eur-lex.europa.eu/RECH_legislation.do') br.select_form(name='form2') br['T1'] = ['V112'] br['T3'] = ['V2'] br['T2'] = ['V1'] first_page = br.submit() f.write(first_page.get_data()) 

пока здесь все не сработает, потому что я получаю источник правильной страницы, сохраненной в файле. Но потом…

 br.select_form(name='form2') br['typedate'] = ['PD'] br['startaaaa'] = '1960' br['startmm'] = '01' br['startjj'] = '01' br['endaaaa'] = '1960' br['endmm'] = '12' br['startjj'] = '31' next = br.submit() 

здесь все останавливается:

 ValueError: unknown GET form encoding type 'utf-8' 

Я проверил br.enctype перед br.enctype как выбрать первую и вторую формы. Я получаю:

  • после первой формы: application/x-www-form-urlencoded
  • после второй формы: utf-8

Я не знаю, что здесь происходит.

    Как я преодолел эту проблему:

    Я переустановил механизацию после смены источника

    строка 3233 _form.py :

     if (self.enctype != "application/x-www-form-urlencoded") and (self.enctype != "utf-8"): 

    это, вероятно, очень неправильно и может, вероятно, справиться с моим делом. но в моем конкретном случае это работает.