【问题标题】:Download a xlsx file by clicking a website button using Python使用 Python 单击网站按钮下载 xlsx 文件
【发布时间】:2020-07-20 04:21:18
【问题描述】:

我正在编写一个 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")。

我尝试通过下载链接进行下载,但每次单击该按钮时网站都会创建一个不同的链接,并且它在 HTTP 之前仍然有一个 blob URL。

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

【问题讨论】:

  • 不知道为什么,但我的国家没有加载网站!
  • 很抱歉,您应该可以访问它 :( 不过没关系,问题已经回答了 :)

标签: python selenium beautifulsoup python-requests data-collection


【解决方案1】:

您可以使用他们的 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] 中提取正确的。

【讨论】:

    猜你喜欢
    • 2016-09-20
    • 1970-01-01
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 2017-06-25
    • 1970-01-01
    • 2018-03-07
    相关资源
    最近更新 更多