增加获取hoh8 token的功能
This commit is contained in:
parent
cbae7af8a3
commit
4f5e9304bb
@ -17,8 +17,8 @@ db.on('error', function (err) {
|
||||
});
|
||||
db.once('open', function () {
|
||||
logger.info('Connected to db.');
|
||||
// hoh8.run();
|
||||
book.run();
|
||||
hoh8.run();
|
||||
// book.run();
|
||||
});
|
||||
mongoose.connect(config.db, {promiseLibrary: Promise, useNewUrlParser: true});
|
||||
|
||||
|
@ -26,6 +26,15 @@ class SpiderDataClass {
|
||||
static async saveList(list, type) {
|
||||
for(let record of list) {
|
||||
if (record.id > 0) {
|
||||
let recordExists
|
||||
try {
|
||||
recordExists = await SpiderDataModel.findOne({'data.id': record.id});
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
if (recordExists) {
|
||||
continue;
|
||||
}
|
||||
let sdata = new SpiderDataModel({
|
||||
type: type,
|
||||
data: record,
|
||||
|
@ -12,8 +12,8 @@ let client = socketClient;
|
||||
*
|
||||
* */
|
||||
|
||||
const token = 'c402cdea067bb6d1ff51090edbe0d645';
|
||||
const uid = '2407044';
|
||||
let token = 'cbc5511ca0993963375939f64f4d9a06';
|
||||
let uid = '2387984';
|
||||
/**
|
||||
* 获取电影列表
|
||||
* @param {Number} id 分页 从0开始
|
||||
@ -93,78 +93,110 @@ const downloadAllMovieImg = async () => {
|
||||
}
|
||||
}
|
||||
|
||||
const getToken = async () => {
|
||||
let url = `https://game.hoh8.cn/hh/wx/ma/login.anon`;
|
||||
const data = {
|
||||
deviceType: '5',
|
||||
appVersion: '1.7',
|
||||
jsonData: '{"sessionKey":"nXEu5cOb7G2ny0/AptdfKw==","signature":"472560f8675dc15bb91e57b01e8cd7288e064265","rawData":"{\\"nickName\\":\\"zhl³\\",\\"gender\\":1,\\"language\\":\\"zh_CN\\",\\"city\\":\\"徐汇\\",\\"province\\":\\"上海\\",\\"country\\":\\"中国\\",\\"avatarUrl\\":\\"https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTLzZqZE6LPAFoqMAqv24dXrcESedsLqnk7ic9ibB8Opzs1WHn6XAqnpwBYWJU4O1HNaDyghszLTYLIw/132\\"}","encryptedData":"doRkV9CbRLD2bOaDxE4D3uMxyTEdhktoQ05+4XlACNWz1pBVbUCLk1OBNh5Vz4Bml1aTPhoMgs40BJlrjglM3iW4j7I4eOAd6LLW7IwXse9Nub7flH1RuhXddixWysVjJvRqiLCk8rPLcHa0K90Pi0r3/1H6yjxdjdSuLxqxgWPtNa/liOVToYlxHHucaP+wWaC0e54MzoWCKSS+feKamNxpUJPU6mmlDDHiEJh11n7EOPmsIBof4yW+S0RGJRzYc+59gk7nBY+wML8FMVtLL4raefCUztZIBpmFtsqOddr+swYnQA4cNVGJRmEbyjuOQFQq3UVAn2lJIcubx6R5gYe6FQkb3pSwf/WdruwBLYHaln4J4+yBMK8lbEZTXZseFwyM69ILomnUHDyPy2EZ6E/ozve7nQQJiKUzbISPDCqa5jUFGB9CcDQFAIgDyQJL+xIgmKlFpXz4JsJCkwccEw==","iv":"sOPgT1rNZvYWixujDYiSRw=="}'
|
||||
};
|
||||
const header = {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.3(0x17000321) NetType/WIFI Language/zh_CN',
|
||||
Referer: 'https://servicewechat.com/wxabcbf9b61bdeac64/7/page-frame.html',
|
||||
'Accept-Language': 'zh-cn',
|
||||
'cache-control': 'no-cache',
|
||||
};
|
||||
let repData = await netUtil.postForm(url, data, header, true);
|
||||
repData = JSON.parse(repData);
|
||||
return repData;
|
||||
}
|
||||
let current = 0;
|
||||
let list = [];
|
||||
|
||||
const parseSocketMsg = () => {
|
||||
let url = `wss://game.hoh8.cn/hh/websocket?userId=${uid}&token=${token}&roomId=0&groupId=global`;
|
||||
client.open(url, '');
|
||||
client.onopen = (e) => {
|
||||
console.log('socket on open');
|
||||
// getMovieList(0); //获取所有电影列表
|
||||
// getGameList(0); //获取所有游戏列表
|
||||
// parseAllRecord('movie'); //更新详情
|
||||
getVideoToken(0); //刷钱
|
||||
}
|
||||
client.onmessage = async (data, flags, number) => {
|
||||
console.log(data);
|
||||
data = JSON.parse(data);
|
||||
let id = parseInt(data.reqId.replace('movielist000', ''));
|
||||
if (data.reqId.indexOf('movielist') === 0 && data.data.length > 0) {
|
||||
try {
|
||||
await SpiderData.saveList(data.data, 'movie');
|
||||
getMovieList(id + 1);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
} else if (data.reqId.indexOf('movieinfo') === 0) {
|
||||
await SpiderData.updateData(data.data);
|
||||
console.log('begin next movie');
|
||||
current++;
|
||||
if (current < list.length) {
|
||||
getMovieInfo();
|
||||
} else {
|
||||
console.log('finish parse movie info')
|
||||
process.exit(1);
|
||||
}
|
||||
} else if (data.reqId.indexOf('gamelist') === 0 && data.data.length > 0) {
|
||||
try {
|
||||
await SpiderData.saveList(data.data, 'game');
|
||||
getGameList(id + 1);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
} else if (data.reqId.indexOf('gameinfo') === 0) {
|
||||
await SpiderData.updateData(data.data);
|
||||
console.log('begin next game');
|
||||
current++;
|
||||
if (current < list.length) {
|
||||
getGameInfo();
|
||||
} else {
|
||||
console.log('finish parse movie info')
|
||||
process.exit(1);
|
||||
}
|
||||
} else if (data.reqId.indexOf('videotoken') === 0) {
|
||||
const appId = data.data.appId;
|
||||
const videoToken = data.data.token;
|
||||
const appName = data.data.appName;
|
||||
console.log(`appId: ${appId}, token: ${videoToken}`);
|
||||
try {
|
||||
const result = await updateMoney(appId, videoToken, appName);
|
||||
console.log(result);
|
||||
setTimeout(function () {
|
||||
if (current ++ < 20) {
|
||||
getVideoToken(current);
|
||||
}
|
||||
}, 15000)
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
run: function () {
|
||||
downloadAllMovieImg();
|
||||
run: async () => {
|
||||
try {
|
||||
let data = await getToken();
|
||||
if (data.code === 0) {
|
||||
token = data.sessionToken;
|
||||
uid = data.user.userId;
|
||||
parseSocketMsg();
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
|
||||
}
|
||||
// run: function () {
|
||||
// let url = `wss://game.hoh8.cn/hh/websocket?userId=${uid}&token=${token}&roomId=0&groupId=global`;
|
||||
// client.open(url, '');
|
||||
// client.onopen = (e) => {
|
||||
// console.log('socket on open');
|
||||
// // getMovieList(0);
|
||||
// // getGameList(0);
|
||||
// // parseAllRecord('movie');
|
||||
// getVideoToken(0);
|
||||
// }
|
||||
// client.onmessage = async (data, flags, number) => {
|
||||
// console.log(data);
|
||||
// data = JSON.parse(data);
|
||||
// let id = parseInt(data.reqId.replace('movielist000', ''));
|
||||
// if (data.reqId.indexOf('movielist') === 0 && data.data.length > 0) {
|
||||
// try {
|
||||
// await SpiderData.saveList(data.data, 'movie');
|
||||
// getMovieList(id + 1);
|
||||
// } catch (err) {
|
||||
// console.log(err);
|
||||
// }
|
||||
// } else if (data.reqId.indexOf('movieinfo') === 0) {
|
||||
// await SpiderData.updateData(data.data);
|
||||
// console.log('begin next movie');
|
||||
// current++;
|
||||
// if (current < list.length) {
|
||||
// getMovieInfo();
|
||||
// } else {
|
||||
// console.log('finish parse movie info')
|
||||
// process.exit(1);
|
||||
// }
|
||||
// } else if (data.reqId.indexOf('gamelist') === 0 && data.data.length > 0) {
|
||||
// try {
|
||||
// await SpiderData.saveList(data.data, 'game');
|
||||
// getGameList(id + 1);
|
||||
// } catch (err) {
|
||||
// console.log(err);
|
||||
// }
|
||||
// } else if (data.reqId.indexOf('gameinfo') === 0) {
|
||||
// await SpiderData.updateData(data.data);
|
||||
// console.log('begin next game');
|
||||
// current++;
|
||||
// if (current < list.length) {
|
||||
// getGameInfo();
|
||||
// } else {
|
||||
// console.log('finish parse movie info')
|
||||
// process.exit(1);
|
||||
// }
|
||||
// } else if (data.reqId.indexOf('videotoken') === 0) {
|
||||
// const appId = data.data.appId;
|
||||
// const videoToken = data.data.token;
|
||||
// const appName = data.data.appName;
|
||||
// console.log(`appId: ${appId}, token: ${videoToken}`);
|
||||
// try {
|
||||
// const result = await updateMoney(appId, videoToken, appName);
|
||||
// console.log(result);
|
||||
// setTimeout(function () {
|
||||
// if (current ++ < 20) {
|
||||
// getVideoToken(current);
|
||||
// }
|
||||
// }, 15000)
|
||||
// } catch (err) {
|
||||
// console.log(err);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// downloadAllMovieImg();
|
||||
// }
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ const requestData = (options) => {
|
||||
});
|
||||
}
|
||||
export default {
|
||||
postForm(url, data, header) {
|
||||
postForm(url, data, header, gzip) {
|
||||
header = header || {
|
||||
'Cache-Control': 'no-cache',
|
||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
||||
@ -26,6 +26,7 @@ export default {
|
||||
headers: header,
|
||||
form: data,
|
||||
};
|
||||
(gzip) && (options.gzip = true);
|
||||
return requestData(options);
|
||||
},
|
||||
getData(url, header) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user