我有一个机器人,我一直想添加一个功能,让用户输入instagram链接,然后从帖子中返回下载的媒体。问题是我不知道如何获得视频链接来下载它。
我试过使用来自npm的Instagram下载包,但是它们通常不会返回任何内容。我也尝试过获取网页,但是页面不是静态的,所以请求HTML不会给我任何有用的数据。我尝试过的另一个选择是查看网站上的检查元素,以找到任何有用的东西,但是过了一段时间,我就找不到可以从代码中访问的有用的东西了。
任何帮助或想法都是好的,因为我已经尝试了任何我能想到的东西。
发布于 2022-10-10 23:19:42
简短答覆:
sudo apt update && sudo snap install gallery-dl
gallery-dl -g -u "<username>" -p "<password>" "https://www.instagram.com/p/CUU9-FFFaE5/"
编写一些Node.js代码,它将像这样或以其他方式异步执行该命令:
const command = `gallery-dl -g -u "${user}" -p "${pass}" "${url}"`;
exec(command, async (err, stdout, stderr) => {
if (err) {
// getting the err.message
} else {
// use the downloaded file name/path to do your stuff
}
});
个人想法:
一开始,我不建议用非官方的方式去做这件事,但除此之外,理论上你可以用两种方式做到这一点:让媒体使用像陈列馆这样的工具,或者其他你想要使用的工具,或者只是自己解析它(大约3年前,我曾通过Node.js片段解析它,在那一刻Instagram一直在改变他们的API策略或类似的东西,所以我不记得我是怎么做的)。
实际上,在某种程度上,这两种方式都是一样的,它们只是在获取数据,但无论如何..您可以在instagram上拥有一些帐户,只用于在不使用的情况下解析,而无需进行任何多因素身份验证,并且可以使用图库-dl。
发布于 2022-10-10 21:24:08
也许这能行?https://developers.facebook.com/docs/instagram-api/reference/ig-media
为此,您必须使用Instagram Graph。
发布于 2022-10-10 21:51:59
也许你可以在“instagram媒体下载机”的搜索下在rapidapi上试用其中一款产品,然后从那里开始呢?
我发现这个也许能帮到你:https://rapidapi.com/arraybobo/api/instagram-media-downloader/
https://stackoverflow.com/questions/74020772
复制相似问题