【发布时间】:2014-08-19 09:28:23
【问题描述】:
我需要自动提取本网站所有文件:http://www.coeweb.istat.it/predefinite/tutto_paese_merce.asp?livello=ATE07_AT2&riga=MERCE&territorio=S&AG=S
在这个网站上,有一个带有组合框和复选框的 Web 表单可以设置,还有一个按钮可以执行下载 xls 文件。
我发现 mechanize 是一个很好的 python 库,可以帮助我自动完成这项任务。 我可以配置组合框以在 html 中打开结果页面,但我不明白如何下载 xls 文件。有什么建议吗?
非常感谢!
#my code
from mechanize import Browser
br = Browser()
page = br.open("http://www.coeweb.istat.it/predefinite/tutto_paese_merce.asp?livello=ATE07_AT2&riga=MERCE&territorio=S&AG=S")
br.select_form(nr=0)
control_xls = br.form.find_control("XLS")
br.find_control("XLS").items[0].selected=True
control = br.form.find_control("CODTERRITORIO")
control.items[0]
print control.value
print control
#select Florence
control.value = ["309048"]
print control
br[control.name] = ["309048"]
response = br.submit()
out_file = open("dataset.html", "w")
out_file.write(response.read())
out_file.close()
【问题讨论】:
-
代码似乎可以正常工作,对我来说有什么问题?
-
我还需要下载 xls 文件,但我不知道该怎么做。 (现在我可以用 pandas 从 html 中提取表格,但我想学会避免这个技巧)
标签: python html forms mechanize