|
package.json 文件
[ol]{ "dependencies": { "cheerio": "^1.0.0-rc.2", "node-schedule": "^1.3.0", "superagent": "^3.8.3" }}[/ol]复制代码
使用 npm i 安装依赖
app.js,替换成你的用户名密码,运行 node app ,也可以装个 forever 放在后台运行
[ol]const superagent = require('superagent');const schedule = require('node-schedule');const cheerio = require('cheerio')const login = user=> new Promise((resolve,reject)=>{ superagent .post('http://www.hostloc.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1') .type('form') .send(user) .set('Host','www.hostloc.com') .set('Referer','http://www.hostloc.com/forum.php') .set('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3391.0 Safari/537.36') .end((err, result)=> { if(err){ reject(err) return; } if(result.text.includes('登录失败')){ reject(err) }else{ if(result.header['set-cookie']){ let cookie = result.header['set-cookie'].map(item=>{ return item.split(';')[0] + '; ' }).reduce((pre,item)=>{ return pre + item }) resolve( cookie ) } } }) })const visited = (Cookies, uid)=> new Promise((resolve,reject)=>{ superagent .get(`http://www.hostloc.com/space-uid-${uid}.html`) .set('Host','www.hostloc.com') .set('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3391.0 Safari/537.36') .set('Cookie',Cookies) .end((err, result)=> { if(err){ reject(err) return; } resolve(result.text) }) })const getCredit = Cookies=> new Promise(function(resolve,reject){ superagent .get('http://www.hostloc.com/forum.php') .set('Host','www.hostloc.com') .set('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3391.0 Safari/537.36') .set('Cookie',Cookies) .end((err, result)=> { if(err){ reject(err) return; } let $ = cheerio.load(result.text) resolve( $('#extcreditmenu').html().split(': ')[1] ) }) })const randUid = ()=> Math.floor(Math.random()*(29796-20000)+20000);(async () => { const user = { username:'username', password:'password' } async function start(user){ const cookie = await login(user) console.log(`积分:${await getCredit(cookie)}`) let uid = randUid() let max = uid + 10 while(uid复制代码 |
|