xdm 今天带你们去抓小姐姐

6,154 阅读2分钟

今天干货,就是抓小姐姐,看看能抓到多少

去哪里抓? 今天抓 绿洲

暗中观察

  1. 打开绿洲小程序(由于mac找不到好的模拟器,就拿小程序做演示了,有知道的大佬可以评论下来)
  2. 先看下图 就是一个列表(列表包含所有图片),只抓到列表接口就好了 image.png
  3. 由于小程序没有个性化推荐,所以会有一些别的类型,咋办尼?(看数据后,发现有性别字段,那就简单过滤下)

进入正题

  1. 抓包

    1. 简单的不要不要的,一眼就看到了。。。。。 image.png
  2. 分析请求相关的

    1. 看headers和cookie
      • headers 都是普通的,直接传了就行
      • cookie 没有 image.png
    2. 看参数
      • body没有

      • params有一个不重要的,给他穿上就行 image.png

  3. 分析响应相关的

    1. 返回的就是一个json
    {
      "ok": 1, //这些就不说了
      "http_code": 200, //这些就不说了
      "data": { 
          "statuses": [] // 里面就是所有数据,太长了,放下面
      }
    }
    
    1. 分析 statuses里 每个字段
      • media 字段就是图片集合
      • user.gender 就是性别 可以简单过滤一下小姐姐
      • 其他字段不是我们的目的,就不研究了
    {
        "modifyType": 0,
        "isLongText": false,
        "showTreeComment": true,
        "preApiState": 0,
        "isLiked": false,
        "attitudesCount": 11,
        "annotations": [
          {
            "oasis": 1,
            "logo": 3
          }
        ],
        "media": [ //重点 这里就是所有的图片
          {
            "width": 2048,
            "pid": "0066mU19gy3grp4bz7cthj31kw16o4qr",
            "type": 1,
            "height": 1536,
            "url": "https://wx1.sinaimg.cn/orj1080/0066mU19gy3grp4bz7cthj31kw16o4qr.jpg" //图片地址
          },
          {
            "width": 2048,
            "pid": "0066mU19gy3grp4byc8hyj31kw16o1kz",
            "type": 1,
            "height": 1536,
            "url": "https://wx4.sinaimg.cn/orj1080/0066mU19gy3grp4byc8hyj31kw16o1kz.jpg"
          }
        ],
        "oldId": 4650296892719796,
        "title": "",
        "favoritesCount": 0,
        "type": 0,
        "createAt": "06-20 22:50",
        "uid": 5590913559,
        "commentsCount": 0,
        "apiState": 3,
        "context": {
          "strictOp": 0,
          "showHotComment": true,
          "showTreeComment": true,
          "canEdit": false
        },
        "id": "4650296892719796",
        "text": "向夕阳salute[作揖]",
        "user": {
          "idstr": "5590913559",
          "follow_me": false,
          "birthday": "2000-00-00",
          "friends_count": 2,
          "liked_count": 20,
          "gender": "f",
          "city": "999",
          "description": "一名悲催的大一汪~",
          "created_at": "Wed May 20 06:14:01 +0800 2020",
          "avatar_hd": "https://tvax3.sinaimg.cn/crop.0.0.828.828.1024/0066mU19gy3gi9t7zmmcuj30n00n079r.jpg?KID=imgbed,tva&Expires=1624628033&ssig=y%2BY8MI5%2BIL",
          "province": "32",
          "constellation": "天蝎座",
          "screen_name": "牛肉丸姑娘",
          "bi_followers_count": 0,
          "verified_reason": "",
          "id": 5590913559,
          "special_attention_reverse_count": 0,
          "profile_image_url": "https://tvax3.sinaimg.cn/crop.0.0.828.828.50/0066mU19gy3gi9t7zmmcuj30n00n079r.jpg?KID=imgbed,tva&Expires=1624628033&ssig=YMp9pPhn8%2F",
          "verified_type": 0,
          "special_following": false,
          "avatar_large": "https://tvax3.sinaimg.cn/crop.0.0.828.828.180/0066mU19gy3gi9t7zmmcuj30n00n079r.jpg?KID=imgbed,tva&Expires=1624628033&ssig=VZt%2B0ltiPF",
          "collected_count": 0,
          "statuses_count": 18,
          "followers_count": 6,
          "following": false,
          "location": "江苏"
        },
        "hasMediaAnnotations": false
      }
    

代码时刻

// x(l) d(s) m(p) 循环根据自己需求
public class LvZhou {
    public static void main(String[] args) {
        String res = HttpUtil.createGet("https://mina.weibo.cn/oasis/proxy/detail_recommend?max_id=undefined")
                .header("Host", "mina.weibo.cn", true)
                .header("weChatInfo", "model=MacBookPro16,2;brand=MacBookPro16,2;weixinVersion=7.0.8;system=macOS 10.16.0;platform=mac;SDKVersion=2.13.2", true)
                .header("Content-Type", "application/x-www-form-urlencoded", true)
                .header("Accept", "*/*", true)
                .header("Connection", "keep-alive", true)
                .header("Cookie", "", true)
                .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E217 MicroMessenger/6.8.0(0x16080000) NetType/WIFI Language/en Branch/Br_trunk MiniProgramEnv/Mac", true)
                .header("Referer", "https://servicewechat.com/wx55926564822f5983/11/page-frame.html", true)
                .header("Accept-Language", "zh-cn", true)
                .header("Accept-Encoding", "gzip, deflate, br", true)
                .execute()
                .body();
        JSONArray jsonArray =(JSONArray) JSONUtil.parseObj(res).getByPath("data.statuses");
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            //所有小姐姐
            JSONArray media = jsonObject.getJSONArray("media");

            //性别 f=男  m=女
            String gender = jsonObject.getByPath("user.gender").toString();
            if ("m".equals(gender)){
                for (int j = 0; j < media.size(); j++) {
                    JSONObject xiaojiejie = media.getJSONObject(j);
                    String url = xiaojiejie.getStr("url");
                    System.err.println(url);
                }
            }

        }
    }
}

效果如下
看都看了,点赞点赞点赞点赞点赞!!!!
下期想看啥,记得评论 image.png