【问题标题】:Instagram IGTV cannot be downloadedInstagram IGTV 无法下载
【发布时间】:2019-01-30 17:52:47
【问题描述】:

我想构建一个安卓应用程序来下载instagram图像和视频以及igtvs。所以我可以轻松下载图片而无需访问令牌,但下载视频我必须有访问令牌才能使用instagram api,最后我没有关于下载 igtv 的想法。 我在我的页面上上传了一个 igtv 视频(我的应用程序处于沙盒模式,但我是管理员)并且 instagram 响应 “媒体 url 无效”

【问题讨论】:

  • 您希望下载私人档案中的视频?未经用户同意,您甚至无法获取用户的图片。
  • 不,我不想那样做。只有我想从公共页面下载。

标签: android instagram instagram-api


【解决方案1】:

哦,在使用 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=\"(.*?)\"";

【讨论】:

    【解决方案2】:

    要么浏览页面的视图源,要么抓取页面。它也会随着 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

    这包括使用上述方法的完整源代码。

    【讨论】:

      猜你喜欢
      • 2020-02-07
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多