首页 > 解决方案 > 如何使用 instaloader 下载特定数量的照片(不是整个帖子)

问题描述

我正在使用一个名为 instaloader 的 instagram api。我正在尝试从数组中的每个配置文件中下载 25 张图片。我尝试使用 get_posts

for post in profile.get_posts():

    #download posts
        L.download_post(post, target=data_path/p_name)

但这会下载图片以及所有评论和元数据。我只想下载图片,因为我正在抓取的 Instagram 帐户有太多评论(无论如何,获得评论并不是重点)。

我看到了一个名为 download_pic 的东西,但我不知道如何使用它。我尝试在下面的代码中使用它,并收到一个错误,提示“未定义 url”。

 profile_names = ["kyliejenner", "justinbieber", "instagram"]

 for p_name in profile_names:

      profile = Profile.from_username(L.context, p_name)

      L.download_pic(data_path/p_name, url, mtime, filename_suffix=None, _attempt=1)

有人可以向我解释如何使用 download_pic (如果那是我应该用来只下载照片/视频的),也许可以给我一个可靠的教程?

标签: pythonweb-scrapinginstagram

解决方案


我一直在寻找完全相同的东西,我终于找到了解决方案:

L.download_pic(FILENAME, POST.url, POST.date_utc)

您可以使用例如 Post.from_shortcode() 获取的 POST 对象 POST.url 将为您提供帖子中第一个图像的链接 POST.date_utc 只会从帖子中获取日期和时间(没有输入 mtime,您将无法下载它)

这只会将图片下载到您想要的文件夹中。


推荐阅读