【问题标题】:Automatic file downloader自动文件下载器
【发布时间】:2022-02-08 04:00:12
【问题描述】:

我想从提供公共下载的网页下载文件。

我对网页世界几乎没有经验,所以最初我使用 selenium 编写了一个简单的脚本来解决这个问题,但是我发现这种获取数据的方式太扭曲了。因此,我尝试通过 POST 请求下载文件,稍微调查一下“网络”工具面板,我设法找到了明显下令下载的请求。

图像中出现的按钮启动右侧出现的三个请求,除了第一次下载文件时,还会出现一个请求(可以在突出显示的请求上方看到)。

然而,这个请求的响应,远不是允许我编写所需文件的内容,更像是一段 html 代码,对应于我在网络面板中双击时显示的内容“下载目录”:

我会错过什么?有谁知道如何解决这个问题,或者通过这种方式是不可能的?

【问题讨论】:

    标签: javascript python html post download


    【解决方案1】:

    你应该使用 requests 包而不是执行 curl 或其他进程:

    import requests
    
    response = requests.post('https://localhost:4000/bananas/12345.png', data = '[ 1, 2, 3, 4 ]')
    data = response.content
    
    

    data 包含之后下载的内容,例如,您可以将其存储到磁盘:

    with open(path, 'wb') as s:
        s.write(data)
    

    【讨论】:

    • 感谢您的回答,我不知道您是否正确阅读了问题,但我已经尝试过了。问题是问题中指出的使用 POST 模块的请求的响应是 HTML 代码片段
    猜你喜欢
    • 1970-01-01
    • 2012-04-26
    • 2013-07-30
    • 2021-12-28
    • 1970-01-01
    • 2019-01-27
    • 2017-03-21
    • 1970-01-01
    • 2016-11-01
    相关资源
    最近更新 更多