我是一个试图从这个网页http://www.cnmv.es/ipps/(西班牙公司信息)中提取文件的新手
问题是我必须先填写几个字段(公司、学期、年份),然后点击下载。使用浏览器,它开始下载一个包含一个或多个.xbrl文件的.zip文件,但我找不到通过请求或类似方式(下载按钮中没有URL)在python中完成下载的方法,将文件内容保存到变量并将文件保存在路径中
我尝试的是我在网上找到的关于类似问题的东西,我读了一些关于ajax、json、beautifulsoup。。。但没有结果。我的实际脚本是错误的,因为我得到的只是响应,而不是目标文件,我需要你的帮助,请
在这里你可以找到一份我想要的草稿,这和我的实际剧本很相似
from requests import Session
s = Session()
Company = [''] #Companies string array
Semester = [''] #Semester string array
Year = [''] #Years string array
for x in range(Company):
for y in range(Semester):
for z in range(Year):
#request the data and receive the desired information
response = s.post(
url='http://www.cnmv.es/ipps/',
data = {
'wDescargas$drpEntidades': Company[x], #search parameters
'wDescargas$drpPeriodos': Semester[y],
'wDescargas$drpEjercicios': Year[z])
},
headers={
'Referer': 'http://www.cnmv.es/ipps/',
}
)
#save the content of the target file in a path
data = response.content
filename = Semester[y] + Company[x] + Year[z]
with open(filename,'w+b') as s:
s.write(data)
非常感谢你的帮助
我建议您使用Python3中的selenium包来自动化整个过程,因为该站点使用的是.NET framework,并且除了“wDescargas$drpEntidades”、“wDescargas$drpperoidos”、“wDescargas$drpejercciios”之外,还有很多POST值
只要查看该网站的源代码,你就会明白为什么在这里使用requests包不是一个好选择
相关问题 更多 >
编程相关推荐