node爬取app数据_交友软件-单身青年自救区体验+数据

本文介绍了如何使用Node.js爬取单身青年自救区APP数据,详细讲解了抓包、接口分析、数据存储及分析过程,揭示了用户身高虚报、年龄分布和地域流动等现象。
摘要由CSDN通过智能技术生成

跟AInoob探索各个有趣的事情~

这篇文章顺序为总结,平台数据,怎么爬虫,软件功能介绍,介绍使用原因。推荐阅读顺序为总结,介绍使用原因,怎么爬虫,还有平台数据。之所以不按照推荐阅读顺序放,是为了上来通过报告吸引住大家。

从信息的角度,这篇文章主要是三部分:单身青年自救区的介绍,怎么爬小程序数据,还有单身青年自救区的数据。(感觉把这些分开会更好。。。但是暂时就不分开了。。。)

先上总结

虽然我没有在上面找到女盆友(毕竟连尝试都没有。。。),但是我觉得这个单身青年自救区是一个很好可以用来相亲的平台。相较于青藤之恋,自救区有广场,可以看所有人的动态。相较于Soul,自救区摆明了就是要相亲,而不是Soul那种模糊的状态(话说我之前用Soul就是为了找一些人聊天,后面用了递爪,就完全不用Soul了(因为我真的只是想找一群人聊天,不是一对一))。

以下是我觉得酷炫的报告~

先上图片

d7035f4464590e05790498293888af2a.png
  • 平台大概有50~60万用户
    • 这个是根据loverUserId判断的。有的id不是递增的关系
    • 很多用户可能并没有填写个人信息(游客身份)
  • 身高虚报依旧存在,下面图片可以看到正态分布配合着虚报身高产生的完美图表~
    • 男生自报身高主要集中在165,168,170,175,178,180
    • 女生自报身高主要集中在155,158,160,165,168,170
  • 人口流入流出(根据老家和现住地)
    • 流入最多依次为广东,北京,上海,浙江,香港(北京市和上海市这个是后台问题,不修了。。。)
    • 流入最多以此为湖南,湖北,江西,河南,山东。
  • 年龄看起来男生比女生大一点
  • 比例来说女生比男生多一点

本来还想会不会有更多酷炫的东西,但是现在过了一段时间没有什么热情了。。。于是就此打住把。

怎么爬?

安卓小程序好像比较难,所以我是用iPad测试的。

    1. 电脑用的Macbook,但是不想信任那个证书。。。于是远程连接Surface,安装的软件
      1. Microsoft Remote Desktop开启Optimize for Retina Display后异常清楚~
    2. iPad也没有什么重要的东西,而且用完我会关掉证书的信任的
  1. HTTPS抓包
    1. 软件Fiddler
      1. 软件要启用HTTPS
    2. iOS安装证书
      1. Wiki配置代理
      2. 通过Safari登陆 ip:8866下载证书
      3. 设置里面安装
      4. 最后一定要在通用-关于本机-证书信任设置里面启用DONOTTRUST_FiddlerRoot
  2. 分析API
    1. 运行小程序
    2. 查看流量,发现请求header包括platform: weapp,于是设置过滤
      1. Host是mini.tuodan.tech
      2. 接口通过header里面的token识别用户
    3. 尝试在Postman上面跑,header添加token就可以抓数据了~
    4. 接口看起来很规范,而且标注v1、v2、之类的,很适合做接口的大改动
      1. 例子:获取用户信息:GET curl --request GET --url 'https://mini.tuodan.tech/jstd-doger/app/user/v5/info?uid= 20081327700' --header 'platform: weapp' --header 'token: dogerProd 123' --header 'version: 3.9.3' --cookie JSESSIONID=123
  3. 写代码自动爬
    1. Node.js写一个最简单的获取信息的代码
    2. Node.js写一个把信息放入Elasticsearch的代码(这里主要是没配置过SQL,而且NoSQL感觉也比较方便)
    3. 开始爬动态信息,设置间隔为2秒,获取的信息放入数据库
      1. 使用pageNo+Size的方案失败了。。。因为我发现他们只让爬前300个数据。。。
      2. 后来发现他们动态的id是递增的~哎嘿
      3. 他们的时间格式是“2020/02/06 14:51:26”,放到Lambda会因为时区导致运行结果不对。。。添加' GMT+8'可以解决
    4. AWS上面配置Lambda+CloudWatch,每15分钟爬一次(因为发现数据其实不多)
    5. 动态爬完后Node.js把Elasticsearch把动态里面的userId提取出来,依次爬取个人信息,然后继续放入Elasticsearch里面
  4. 分析数据
    1. 首先,数据帝之前的关于虚报身高的回答非常有趣,所以我准备在这个平台也展示一下男生和女生自报的身高
      1. 我自己在用软件的时候也注意到了,女生的身高超过60%都落在158,160,165,168,和170这几个数里面
      2. 原因个人觉得有两点
        1. 主要是往高了说了。。。
        2. 其次是没太记住,大概取一个差不多的数(基本还是往高了说。。。)
    2. 年龄分布,尝试找出男女年龄的分布
    3. 地区人口流入流出,看看哪个地区人口流入最大,哪个地区人口流出最大
    4. 写出这篇文章,然后发到知乎,B站,还有简短的总结发到单身狗自救区

软件功能介绍

  • 收费情况
    • 软件使用可以完全免费
    • 狗粮是软件里面的钱
    • 狗粮可以签到获得
      • 每天最多可以获得50狗粮
    • 狗粮可以充值获得
      • ¥20 = 100狗粮
      • ¥1200 = 10000狗粮(优惠价)
  • 每天会有推荐用户
  • 有广场
    • 解锁匿名动态需要10狗粮

为啥使用单身青年自救区?

好奇是最重要的原因。

知乎上推荐青藤之恋小程序,看了一下,类似探探、Tinder,不过有验证学历身份之类的。可以看照片,看简介,一天只能看5个人。网络相亲这东西,纯软件乱推荐,人数少肯定不行啊。。。所以我试都没试。

于是知乎搜索类似青藤之恋的软件,发现了单身青年自救区小程序。这软件每天同样有推荐,而且有广场!可以随便看各种各样的人。这感觉一下就好多了~ 同样验证学历身份,那有什么理由用青藤之恋呢?

游客模式看了一下,感觉挺有趣。看了一些回答,很是想评论,于是就注册了。

注册了干嘛呢?主要是好奇,所以目前就是看各种各样的人,然后看动态,评论,了解一下这个市场。

怎么了解市场呢?当然不是努力的找女盆友然后一个一个试了。。。我是做啥的?程序员啊!我能干啥?爬ta!

所以我准备爬出数据模仿数据帝(chenqin@)的一些回答,写一个看起来有点酷炫的报告~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值