基本用法
下载帖子
下载用户帖子、Reels 和 IGTV
📷 下载帖子
下载用户的所有帖子
# 下载用户的所有帖子
instaloader --login YOUR_USERNAME profile_name
# 同时下载多个用户
instaloader --login YOUR_USERNAME user1 user2 user3import instaloader
L = instaloader.Instaloader()
L.load_session_from_file("YOUR_USERNAME")
profile = instaloader.Profile.from_username(L.context, "profile_name")
for post in profile.get_posts():
L.download_post(post, target=profile.username)增量下载(只下载新帖子)
# --fast-update: 遇到已下载的帖子就停止
instaloader --login YOUR_USERNAME --fast-update profile_nameimport instaloader
L = instaloader.Instaloader()
L.load_session_from_file("YOUR_USERNAME")
profile = instaloader.Profile.from_username(L.context, "profile_name")
for post in profile.get_posts():
# fast_update=True 会在遇到已下载帖子时停止
if not L.download_post(post, target=profile.username):
break按日期范围下载
# 只下载 2024 年以后的帖子
instaloader --login YOUR_USERNAME --post-filter="date_utc >= datetime(2024, 1, 1)" profile_name
# 下载特定日期范围
instaloader --login YOUR_USERNAME \
--post-filter="datetime(2024, 1, 1) <= date_utc <= datetime(2024, 6, 30)" \
profile_nameimport instaloader
from datetime import datetime
L = instaloader.Instaloader()
L.load_session_from_file("YOUR_USERNAME")
profile = instaloader.Profile.from_username(L.context, "profile_name")
since = datetime(2024, 1, 1)
until = datetime(2024, 6, 30)
for post in profile.get_posts():
if post.date_utc < since:
break
if post.date_utc <= until:
L.download_post(post, target=profile.username)限制下载数量
# 只下载最新 10 个帖子
instaloader --login YOUR_USERNAME --count 10 profile_nameimport instaloader
from itertools import islice
L = instaloader.Instaloader()
L.load_session_from_file("YOUR_USERNAME")
profile = instaloader.Profile.from_username(L.context, "profile_name")
# 只取最新 10 个
for post in islice(profile.get_posts(), 10):
L.download_post(post, target=profile.username)自定义文件名
# 使用帖子 ID 命名
instaloader --login YOUR_USERNAME \
--filename-pattern "{shortcode}" profile_name
# 使用日期 + ID
instaloader --login YOUR_USERNAME \
--filename-pattern "{date_utc:%Y%m%d}_{shortcode}" profile_name--fast-update 是增量下载的最佳方式 —— 每次只下载上次运行后的新帖子。