相关疑难解决方法(0)

如何使用Python通过HTTP下载文件?

我有一个小工具,用于按计划从网站下载MP3,然后构建/更新播客XML文件,我显然已将其添加到iTunes.

创建/更新XML文件的文本处理是用Python编写的.我在Windows .bat文件中使用wget 来下载实际的MP3.我宁愿用Python编写整个实用程序.

我努力寻找一种方法来实际下载Python中的文件,因此我采用了wget.

那么,我如何使用Python下载文件?

python http urllib

813
推荐指数
20
解决办法
100万
查看次数

使用请求在python中下载大文件

请求是一个非常好的库.我想用它来下载大文件(> 1GB).问题是不可能将整个文件保存在内存中我需要以块的形式读取它.这是以下代码的问题

import requests

def DownloadFile(url)
    local_filename = url.split('/')[-1]
    r = requests.get(url)
    f = open(local_filename, 'wb')
    for chunk in r.iter_content(chunk_size=512 * 1024): 
        if chunk: # filter out keep-alive new chunks
            f.write(chunk)
    f.close()
    return 
Run Code Online (Sandbox Code Playgroud)

由于某种原因它不起作用.在将其保存到文件之前,它仍会将响应加载到内存中.

UPDATE

如果你需要一个可以从FTP下载大文件的小客户端(Python 2.x /3.x),你可以在这里找到它.它支持多线程和重新连接(它确实监视连接),它还为下载任务调整套接字参数.

python download stream python-requests

348
推荐指数
6
解决办法
27万
查看次数

标签 统计

python ×2

download ×1

http ×1

python-requests ×1

stream ×1

urllib ×1