You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改urllib.urlretrieve下载路径?调整Instagram Bot下载目录

嘿,我来帮你搞定这个下载路径修改的问题,其实很简单,分两步给你说清楚:

一、修改你的Instagram Bot代码到指定路径

首先你需要确保目标目录D:\PythonProjects\InstagramBot\downloads\user存在,不然直接下载会报错。我们可以用Python的os模块自动创建目录,然后把完整的文件路径传给urlretrieve就行。修改后的代码如下:

import os
import urllib.request
import time

# 定义你想要的下载目录
target_download_dir = r"D:\PythonProjects\InstagramBot\downloads\user"

# 自动创建目录,如果已经存在也不会报错
os.makedirs(target_download_dir, exist_ok=True)

print("DOWNLOADING " + str(len(saved_video_links)) + " VIDEOS")
time.sleep(1)
for x in range(len(saved_video_links)):
    print("[" + str(len(saved_pic_links)+x+1) +"/" + str(amount_of_posts) + "]")
    # 用os.path.join拼接目录和文件名,避免手动拼字符串出错
    full_file_path = os.path.join(target_download_dir, f"{username}_vid_{x}.mp4")
    # 把完整路径传给urlretrieve的第二个参数
    urllib.request.urlretrieve(saved_video_links[x], full_file_path, MyProgressBar())

这里几个关键点:

  • os.makedirs(..., exist_ok=True):帮你自动创建多级目录(比如如果downloads或者user目录不存在,都会一起创建),而且如果目录已经存在也不会抛出错误,很省心。
  • os.path.join():比你手动用+拼接路径更安全,它会自动适配Windows的\和其他系统的/分隔符,避免路径格式错误。
二、urllib.request.urlretrieve修改下载路径的核心逻辑

其实urlretrieve的第二个参数filename,如果只传文件名(比如你之前的username + "_vid_" + str(x) + ".mp4"),它默认会把文件下载到当前Python脚本的运行目录(也就是你的项目根目录D:\PythonProjects\InstagramBot)。

要修改下载路径,只需要给filename传完整的文件路径(包含目标目录和文件名)就行:

  • 比如直接写死路径:r"D:\PythonProjects\InstagramBot\downloads\user\username_vid_0.mp4"(加r前缀是为了避免路径里的\被当成转义字符)
  • 更推荐的方式是用os.path.join()来拼接,就像上面代码里那样,既灵活又不容易出错。

这样修改之后,你的视频就会自动下载到D:\PythonProjects\InstagramBot\downloads\user目录里啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 10:57:33