如何在Android中使用Jsoup获取Instagram指定用户的粉丝数量
失效原因
- 无请求头的直接请求会被Instagram反爬机制拦截,返回登录提示页而非真实用户主页数据
- 原代码使用的
doc.select("-nal3")是无效的类选择器(类选择器需加.前缀),且Instagram目前已采用前端动态渲染逻辑,粉丝数不会直接暴露在静态DOM标签中,而是内嵌在页面script标签的JSON数据里
可行实现方案
实现思路:模拟浏览器请求头拉取用户主页源码,提取内嵌的用户数据JSON,解析得到粉丝数字段。
你需要先引入JSON解析依赖,比如Android环境可引入org.json:json:20230227版本。
实现代码如下:
private void getInstaFollowers() { new Thread(() -> { StringBuilder builder = new StringBuilder(); String targetUser = "zuck"; // 替换为要查询的用户名 String webLink = "https://www.instagram.com/" + targetUser + "/"; try { // 配置请求头模拟Chrome浏览器请求 Document doc = Jsoup.connect(webLink) .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36") .header("Accept-Language", "en-US,en;q=0.9") .get(); // 提取包含用户数据的script标签内容 Elements scriptElements = doc.select("script"); String userDataJson = ""; for (int i = 0; i < scriptElements.size(); i++) { String scriptContent = scriptElements.get(i).html(); if (scriptContent.contains("window._sharedData")) { // 截取JSON部分 int start = scriptContent.indexOf("{"); int end = scriptContent.lastIndexOf("}") + 1; userDataJson = scriptContent.substring(start, end); break; } } if (!userDataJson.isEmpty()) { // 解析JSON获取粉丝数 org.json.JSONObject rootJson = new org.json.JSONObject(userDataJson); org.json.JSONObject userObj = rootJson.getJSONObject("entry_data") .getJSONArray("ProfilePage") .getJSONObject(0) .getJSONObject("graphql") .getJSONObject("user"); long followerCount = userObj.getJSONObject("edge_followed_by").getLong("count"); builder.append("用户").append(targetUser).append("的粉丝数:").append(followerCount); } else { builder.append("未获取到用户数据"); } } catch (Exception e) { builder.append("Error : ").append(e.getMessage()); } runOnUiThread(() -> { Toast.makeText(mContext, builder.toString(), Toast.LENGTH_LONG).show(); }); }).start(); }
注意事项
- 该方案仅可查询公开账号的粉丝数,私有账号无法获取对应数据
- 频繁请求会触发Instagram反爬限制,会出现要求登录或IP封禁的情况,生产环境建议使用Instagram官方Graph API实现
- Instagram可能随时调整前端JSON结构,若字段解析失败可重新从页面script标签中查找对应粉丝数字段的路径
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

