Python 如何使用mechanize和bs4更改网页的多个选项

Python 如何使用mechanize和bs4更改网页的多个选项,python,web-scraping,mechanize,Python,Web Scraping,Mechanize,我必须把所有可用的选项都删掉。使用mechanize,我选择了前两个控件(报告类型和语言)。现在有三个下拉列表。第二个依赖于第一个,第三个依赖于第二个。我怎样才能解决它。下面给出了前两个字段的起始代码 import mechanize from bs4 import BeautifulSoup br = mechanize.Browser() url="http://ceojk.nic.in/ElectionPDF/Main.aspx" response = br.open(url) b

我必须把所有可用的选项都删掉。使用mechanize,我选择了前两个控件(报告类型和语言)。现在有三个下拉列表。第二个依赖于第一个,第三个依赖于第二个。我怎样才能解决它。下面给出了前两个字段的起始代码

import mechanize
from bs4 import BeautifulSoup   
br = mechanize.Browser()

url="http://ceojk.nic.in/ElectionPDF/Main.aspx"
response = br.open(url)
br.select_form(name="Form1")
control_1 = br.form.find_control("RadioButtonList1")
control_2 = br.form.find_control("RadioButtonList2")
submit = br.form.find_control("Button1")

br[control_1.name]=["PS Wise Report"]
br[control_2.name]=["English"]
response = br.submit()
soup=BeautifulSoup(response,'lxml')
for item in soup.find_all('option'):
    print item['value']

好的,这是非常令人兴奋的调试(你无法想象我在试图解决它的过程中尝试和学习了多少东西)

下面是一段工作代码,它模仿了浏览器中的行为,一步一步地选择第一个地区、AC和PS(仅传递
[“1”]
值-您可能需要对此进行改进-例如,阅读选项并添加选项名->值映射):

最后,它打印浏览器右侧显示的“文件”块的HTML代码

import mechanize
from bs4 import BeautifulSoup

br = mechanize.Browser()

url = "http://ceojk.nic.in/ElectionPDF/Main.aspx"
response = br.open(url)

br.select_form(name="Form1")
br["RadioButtonList1"] = ["PS Wise Report"]
br["RadioButtonList2"] = ["English"]
br.submit()

# getting ACs
br.select_form(name="Form1")
br["DistlistP"] = ["1"]
br.submit(name="BtnPs")

# getting PSes
br.select_form(name="Form1")
br["AclistP"] = ["1"]
br.submit(name="BtnPs")

# getting report
br.select_form(name="Form1")
br["PslistP"] = ["1"]
response = br.submit(name="BtnPs")

soup = BeautifulSoup(response)
print(soup.find(id="Pnlfile"))