Python中如何从这个地址下载文档?

http://usyiyi.cn/translate/python_352/index.html

里面有中文版的 Python 3.5.2 文档,不知为何我无法下载,直接复制文档地址到迅雷也不行。有人可以下载页面上打包为.zip 的文档么,如果可以的话,能否帮忙下载 PDF(A4 尺寸)和 HTML 两种格式的 3.5.2 中文文档,万分感谢了!
Python中如何从这个地址下载文档?

3 回复

要下载文件,用 requests 库最直接。先安装它:pip install requests

然后,用下面这段代码。把 url 换成你的文档地址,local_filename 换成你想存成本地的文件名。

import requests

def download_file(url, local_filename):
    """
    从指定URL下载文件并保存到本地。
    """
    # 发送GET请求,设置stream=True以流式下载大文件
    with requests.get(url, stream=True) as r:
        r.raise_for_status()  # 检查请求是否成功
        with open(local_filename, 'wb') as f:
            # 分块写入文件,避免内存占用过高
            for chunk in r.iter_content(chunk_size=8192):
                f.write(chunk)
    return local_filename

# 使用示例
file_url = "https://example.com/path/to/your/document.pdf"
save_as = "my_document.pdf"

try:
    downloaded_file = download_file(file_url, save_as)
    print(f"文件已下载: {downloaded_file}")
except requests.exceptions.RequestException as e:
    print(f"下载失败: {e}")

代码解释:

  1. requests.get(url, stream=True): 发起请求,stream=True 是关键,它不会一下子把整个文件塞进内存,而是准备一点一点读,适合大文件。
  2. r.raise_for_status(): 如果下载出错(比如404),这里会直接抛出异常。
  3. r.iter_content(chunk_size=8192): 以8KB为一块,循环读取下载的内容。
  4. open(local_filename, 'wb'): 用二进制写入模式打开本地文件,把每一块数据写进去。

简单总结:用 requests 库流式下载最稳。


翻译站点没保存文件资源,是这样吧

回到顶部