我正在尝试从 EUR-Lex 网站填写 2 个表格,以便从生成的网页中记录一些数据。我被困在表格#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
在选择第一种和第二种形式之前检查过。我得到的是:
- 第一种形式之后:
application/x-www-form-urlencoded
- 在第二种形式之后:
utf-8
我不知道这里发生了什么。