1

我正在使用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

但是对于像这样的幻灯片,它只会获取帖子的第一张图片。我想要帖子中的所有图像。我怎样才能做到这一点?

4

1 回答 1

1

您可以遍历每篇文章中的所有 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

于 2021-01-13T23:03:02.240 回答