我想构建一个Android应用来下载instagram图像,视频和igtvs。因此我可以轻松地下载图片而无需访问令牌,但是对于下载视频,我必须具有访问令牌才能使用instagram api,最后我没有关于下载igtv的想法。 我在页面上上传了一个igtv视频(我的应用程序处于沙盒模式,但我是管理员),而instagram回应“媒体网址无效” 。
答案 0 :(得分:0)
哦,在一周内使用Instagram API并寻找查找方法之后,这非常容易!
获取页面的html内容,并使用正则表达式找到下载链接:
<meta property="og:video" content="video_link" />
这个正则表达式将非常有用:
String getVideoUrl(String content) {
String videoUrl = null;
String regex = "<meta property=\"og:video\" content=\"(.*?)\" />";
Pattern p = Pattern.compile(regex, Pattern.MULTILINE);
Matcher m = p.matcher(content);
if (m.find()) {
videoUrl = m.group(1);
}
return videoUrl;
}
此代码对于下载视频和IGTV也很有用。 此外,要下载图片,该图片对我有用:
regex = "<meta property=\"og:image\" content=\"(.*?)\"";
答案 1 :(得分:0)
您要么浏览页面的查看源,要么抓取页面。随着Instagram更改页面结构,它也会更改。 我们在媒体URL中发现了另一种方法,只需在查询字符串中添加__a = 1即可获取JSON。那么您可以解析 JSON 以获得下载链接并下载媒体。它还适用于多种轮播媒体,视频以及IGTV
https://www.instagram.com/p/CGIugM4lIy_/
将会
https://www.instagram.com/p/CGIugM4lIy_/?__a=1
它将为您提供可以解析的JSON。
您也可以尝试此应用程序,该应用程序还包括带有源代码的完整应用程序。 Instagram download source code
这包括使用上述方法的完整源代码。