使用 Python 单击网站按钮下载 xlsx 文件

Download a xlsx file by clicking a website button using Python

我正在编写一个 Python 脚本,为我的国家和州创建一个 COVID-19 仪表板并每天更新它。

但是,我很难下载必要的文件之一。

基本上要下载文件,我必须访问网站 (https://covid.saude.gov.br/) 并单击按钮 (class="btn-white md button button-solid button-has-icon-only ion-activatable ion-focusable hydrated ion-activated")。

我尝试通过下载 link 下载,但每次您单击该按钮时该站点都会创建一个不同的 link,它在 HTTP 之前仍然有一个 blob URL。

我非常感谢任何试图提供帮助的人,因为这些数据将用于监测我所居住的疾病的进展情况。

您可以使用他们的 API 来获取文件名:

import requests

headers = {
        'authority':'xx9p7hp1p7.execute-api.us-east-1.amazonaws.com',
        'x-parse-application-id':'unAFkcaNDeXajurGB7LChj8SgQYS2ptm',
          }

with requests.Session() as session:
    session.headers.update(headers)
    resp = session.get('https://xx9p7hp1p7.execute-api.us-east-1.amazonaws.com/prod/PortalGeral').json()
    path = resp['results'][0]['arquivo']['url']

x-parse-application-id好像没变。如果是,您可以通过查询 https://xx9p7hp1p7.execute-api.us-east-1.amazonaws.com/prod/PortalGeralApi 并从 ['planilha']['arquivo'][url].

中提取它来获得正确的