本帖最后由 魉魍魅魑 于 2019-10-5 21:59 编辑
国庆期间闲着无聊。
想着不是有8位靓号可以购买吗?可是,官网的网页用随机值作为当前页码参数。(具体的请自行查案请求数据分析。)
因此,分析了api结构自己组装请求数据来刷号。
都没有刷到一个心怡的。想要各8位QQ真难。
代码随手写的不足还请多多指教。
[JavaScript] 纯文本查看 复制代码 const https = require('https');
const page = 38; //1 ~ maxpage 范围的数字 (maxpage在下面会有描述)
var url = `https://hm.vip.qq.com/cgi-bin/HaomaSearch.fcgi?cmd=Search&g_tk=1085419981&callback=jQuery18309448964170349754_1569640671486&actid=30003&perpage=30&page=${page}&_=1569640684075`;
https.get(url, function (res) {
var html = '';
res.on("data", function (chunk) {
html += chunk;
});
res.on("end", function () {
doSomeThing(html);
});
});
function doSomeThing(html) {
var json = html.replace('jQuery18309448964170349754_1569640671486\(', '').replace('\)', '');
// 返回的数据中会有一个maxpage 只要 page不超过这个maxpage,官网接口都会有数据返回。
console.log(JSON.parse(json).data, '整理号采集的数据');
let data = JSON.parse(json).data.data;
data.forEach((item, index) => {
let ary = [...item.num];
ruleABCBA(ary);
//console.log(ary.toString(), `拆分采集数据${index}`);
});
}
/**
* 首尾对称型
*/
function ruleABCBA(array) {
let flag = false;
for (let left = 0; left < 3; left++) {
const first = array[left];
const last = array[array.length - 1 - left];
if (first === last) {
flag = true;
} else {
flag = false;
break;
}
}
if (flag) {
console.log(array.toString(), "bingo有了");
}
}
不好意思忘记写执行代码了。
请安装nodejs具体方法请自行百度。
运行:使用node 上诉代码保存文件路径即可。 |