球球大作战 获取棒棒糖思路

1. 分析

龙蛋领取网络请求图
在这里插入图片描述

  1. 自己的分享链接 http://t.cn/*****,这是个短网址
  2. 短网址还原成长网址,并重定向到长网址
    棒棒糖的长网址格式 http://www.battleofballs.com/index_PC.html?id=*****&Account=*****&Channel=*****拿到id
    龙蛋的长网址格式 http://www.battleofballs.com/share/index.html?b=AAAAAAAAAA------(base64编码) 须解码得到id
  3. 领取地址
    棒棒糖http://cn.battleofballs.com/share?type=1&id=***
    龙蛋http://cn.battleofballs.com/share?type=3&id=***

2. 短网址还原

找了一个在线的api,短网址还原接口地址
在这里插入图片描述

代理ip

请自行百度 代理ip,有很多免费的.

  1. 爬取ip并存入数据库

存入数据库的ip,状态默认为0,(0:未检测.1:可用,-1:不可用)

  1. 测试ip是否可用

用代理ip去访问 球球大作战官网或者百度
修改数据库 状态置为 1 或者 -1

  1. 用状态为1 的代理ip去访问 领取地址

定时任务

将执行代码按顺序写到 定时任务中,每天这行并领取.

技术

实现的技术有很多,记录下自己实现所用框架.
nodejs+koa2+mongodb
superagent+cheerio+superagent-proxy

"dependencies": {
    "axios": "^0.19.0",
    "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
    "babel-register": "^6.26.0",
    "cheerio": "^1.0.0-rc.3",//服务器端需要对DOM进行操作
    "cron": "^1.7.1",//定时任务
    "koa": "^2.7.0",
    "koa-bodyparser": "3",//解析request的body
    "koa-router": "^7.4.0",//路由
    "koa2-cors": "^2.0.6",//解决跨域
    "moment": "^2.24.0",//时间的插件
    "mongoose": "^5.6.7",//MongoDB 
    "nodemon": "^1.19.1",//热重启
    "superagent": "^5.1.0",//爬虫
    "superagent-proxy": "^2.0.0"//superagent代理
  }

这只是个大致的思路,具体实现,还有许多细节需要考虑,这里就不写这么多了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章