如何在Python脚本中使用Instaloader通过URL或帖子ID下载单条帖子?
如何在Python脚本中使用Instaloader通过帖子ID/URL下载帖子
你可以直接通过帖子的短代码(也就是你终端命令里的-B_K4CykAOtf,对应帖子URL中/p/后的那串字符)来加载并下载帖子,不需要依赖终端命令。具体实现步骤如下:
基础实现(公开帖子)
from instaloader import Instaloader, Post # 初始化Instaloader实例 loader = Instaloader() # 替换为目标帖子的短代码 post_shortcode = "-B_K4CykAOtf" # 通过短代码获取Post对象 target_post = Post.from_shortcode(loader.context, post_shortcode) # 下载帖子,第二个参数是保存目录(可选,默认当前目录) loader.download_post(target_post, target="downloaded_posts")
从完整URL提取短代码
如果只有帖子的完整URL,可以通过字符串拆分提取短代码:
post_url = "https://www.instagram.com/p/-B_K4CykAOtf/" # 拆分URL取倒数第二个非空元素,即为短代码 post_shortcode = post_url.split('/')[-2]
下载私密账号的帖子
如果目标帖子属于私密账号,需要先登录你的Instagram账号:
# 方式1:直接输入账号密码(不推荐硬编码,建议从环境变量读取) loader.login("your_username", "your_password") # 方式2:加载已保存的会话文件(更安全,登录一次后会生成文件) # loader.load_session_from_file("your_username") # 后续下载步骤同基础实现
内容的提问来源于stack exchange,提问作者Ян Макотин
相关产品推荐
相关产品推荐

