【问题标题】:How to receive data from Instagram programmatically android如何以编程方式从 Instagram 接收数据
【发布时间】:2022-04-16 20:33:59
【问题描述】:

通过参考现有的博客,如this 我知道可以添加?__a=1 作为链接的扩展名,然后它将返回一个 jsonObject,当然可以,但只在浏览器中。

我试过这个(Kotlin)

        Thread {
            var link = "https://www.instagram.com/reel/CZBE3OIJ4vB/?__a=1"
            Log.d(tag, "Requesting URL: $link")
            val reader =
                BufferedReader(InputStreamReader(URL(link).openStream(), "UTF-8"))
            var sResponse: String?
            var s = StringBuilder()

            while (reader.readLine().also { sResponse = it } != null) {
                s = s.append(sResponse)
            }
            Log.d(tag, "Returned Data  :${s.toString()}")
        }.start()

但它返回<!DOCTYPE html>

<!DOCTYPE html><html lang="en" class="no-js not-logged-in client-root touch">
<head>
<meta charset="utf-8">...

我应该怎么做才能像接收浏览器一样接收jsonObject

【问题讨论】:

    标签: android android-studio url instagram html-parsing


    【解决方案1】:

    使用 URL 末尾的 /?__a=1 可以获得用户的 JSON。不幸的是,这不能经常使用,因为 Instagram 能够知道。当您的 IP 地址进入 Instagram 黑名单时,您将无法获取 JSON。 当您的 IP 地址在黑名单中时,您会立即注意到,因为该 url 回复了一个与 Instagram 登录页面相对应的 html 页面。 有2种方法可以解决这个问题: -1 使用 Instagram API; -2 更改每次发出请求的机器的IP地址;

    我希望这会有所帮助。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多