使用 instaloader 下载 Instagram 图片-视频
一直在使用 telegram bot 来下载 YouTube 或 twitter 视频,很方便快捷。
关于配置自己的 bot 参考之前的文章:https://blog.niekun.net/archives/428.html
我的应用于 telegram bot 的 YouTube 下载器源码地址:https://github.com/nie11kun/telegram-bot-youtube-downloader
最近想给我的 telegram bot 添加 Instagram 图片的下载功能,但是 youtube-dl 并不支持 Instagram。查询了下发现了 instaloader 这个开源软件可以完美实现我想要的功能。
instaloader 官网:https://instaloader.github.io/
GitHub:https://github.com/instaloader/instaloader
安装
instaloader 需要 python 3.5 以上。推荐直接安装最新版 python。
使用 pip3 安装:
pip3 install instaloader --upgrade
注意必须通过 pip3 而不是 pip 安装,否则使用中会报错。
使用
安装完成后就可以使用 instaloader 命令来下载了。注意如果 python 安装到了自定义目录,如 /opt
则需要手动链接 instaloader 可执行程序到 /usr/local/bin
目录。
下载 post
如果要下载一个 post 中的图片,提取链接中的 shortcode 来下载,如下是一个 Instagram post 的链接:https://www.instagram.com/p/CMcMZycLpbS/?utm_source=ig_web_copy_link,其中的 CMcMZycLpbS
就是 shortcode 代码。
需要通过 -shortcode
参数来下载对应的图片,且需要通过 --
告诉 instaloader 不要将 -shortcode
作为 option 对待,如:
instaloader -- -CMcMZycLpbS
关于命令中的特殊字符处理参考:https://blog.niekun.net/archives/2204.html
默认会下载到当前目录下,并新建文件夹 -shortcode
,媒体文件及相关文本文件就在其中,注意到文件夹是以特殊字符 -
开头的,所以访问目录需要加上 --
,如:
cd -- -CMcMZycLpbS
自定义下载目录
通过 --dirname-pattern
参数可以指定下载目录,如:
instaloader --dirname-pattern=/tmp/test -- -CMcMZycLpbS
就会将对应 post 的媒体下载到 /tmp/test
目录内。
instaloader 的功能很强大,可以下载一个用户的所有发布内容,可以下载一个 #hashtag
标签的所有内容等。具体可以参考官方文档:https://instaloader.github.io/basic-usage.html#download-pictures-from-instagram
我将 instaloader 加入了 telegram bot 中,可以很方便的下载一个 post 的媒体内容,有兴趣的可以查看:https://github.com/nie11kun/telegram-bot-youtube-downloader
标签:无