如何使用 Instaloader 访问 Instagram 幻灯片(包含多个图像或视频的帖子)中的所有图像?

How can access all of the images in Instagram slides (posts with multiple images or videos) with Instaloader?

我正在使用 Instaloader 开发 Instagram 抓取机器人。这是我的代码的一部分,它通过每个配置文件从安装中获取图像 url:

def scrapImageAddresses(PROFILE):
    print(PROFILE)
    L = Instaloader()
    L.login('####', "####")
    profile = Profile.from_username(L.context, PROFILE)
    imageList = []
    for post in profile.get_posts():
        imageList.append({
            'url': post.url,
            'media_id': post.mediaid
        })
    return imageList

但对于像 this 这样的幻灯片,它只会获取 post 的 第一个 图像。我想要 post 中的 all 个图像。 我该怎么做?

您可以遍历每个 post 中的所有 sidecar 节点(幻灯片)并将相应的 url 添加到列表中:

def scrapImageAddresses(PROFILE):
    print(PROFILE)
    L = Instaloader()
    L.login('####', "####")
    profile = Profile.from_username(L.context, PROFILE)
    imageList = []
    for post in profile.get_posts():
        for slide in post.get_sidecar_nodes():
            imageList.append({
                'url': slide.video_url if slide.is_video else slide.display_url,
                'media_id': post.mediaid
            })
    return imageList

文档:Instagram Structures — Instaloader documentation