python - 如何使 urllib.request 附加到现有文件?
问题描述
我正在尝试在 Python 中下载大量文本,并希望将其全部保存到一个文件中。
我当前使用的代码为每个 url 创建一个单独的文件。它遍历 url 的存档,请求数据,然后将其保存到自己的文件中。
filename = archive[i]
urllib.request.urlretrieve(url, path + filename + ".pgn")
我尝试为每个 url 使用相同的文件名,但它只是覆盖了文件。
有没有办法遍历存档,而不是将数据保存在自己的单独文件中,而是将每个文本块添加到单个文件中?或者我是否需要在之后遍历所有文件并将它们连接在一起?
解决方案
请注意,这可能会在将来的某个时候urlretrieve
被弃用。所以urlopen
改用。
import urllib.request
import shutil
...
filename = archive[i]
with urllib.request.urlopen(url) as response, open(filename, 'ab') as out_file:
shutil.copyfileobj(response, out_file)
推荐阅读
- ssl - 如何从 CherryPy 处理程序获取 SSL 客户端证书信息?
- node.js - 从集合中检索所有文档后如何很好地显示字段内容
- javascript - 从参考重新创建混合二等分和错误位置算法
- swift - 如何使用 AWS 和 GraphQL 上传与不同模型类型相关的信息?
- android - 可以将视图传递给 AndroidViewModel
- amazon-web-services - Appsync - 屏蔽订阅所需的突变响应中的字段
- c++ - 如何将构建的源代码库添加到 linux 上的 qt creator
- python - 对象不可订阅 django
- ios - 试图在swiftui中给边界一个角半径
- c++ - 是什么决定了堆内存的分配位置?