You need to enable JavaScript to run this app. 如何在Python循环中生成唯一HTML文件名用于保存批量下载的网页
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python循环中生成唯一HTML文件名用于保存批量下载的网页

解决爬虫保存文件重名问题的方案

你可以直接复用循环内的两个独有标识contract_number和author_position拼接文件名,二者的组合对每个请求都是唯一的,不会出现重名问题,同时可保留.html后缀。

修改后的代码示例

for contract_number in range(20):
    print(contract_number)
    for author_position in range(1,6):
        url = (insert link here).format(contract_number, author_position)
        r = requests.get(url, allow_redirects=True)
        # 用唯一标识组合生成文件名,不会重复
        file_name = f"contract_{contract_number}_pos_{author_position}.html"
        open(file_name, 'wb').write(r.content)

可选扩展方案

如果后续需要兼容更多变量维度,还可以选择以下方式生成唯一文件名:

  • 拼接毫秒级时间戳:导入time模块后,将int(time.time()*1000)加入文件名,正常请求速度下不会出现重复
  • 对URL生成哈希值:用hashlib模块对请求的原始URL生成md5值作为文件名,适合URL本身全局唯一的场景
  • 新增全局自增ID:定义初始值为1的全局变量,每成功保存一个文件就自增1,将ID加入文件名

小提示:如果你后续想使用页面标题等爬取到的动态内容作为文件名,记得提前替换掉/ \ : * ? " < > |等系统禁止的文件名字符,避免保存失败。

内容的提问来源于stack exchange,提问作者Oliver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 17:48:02