您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在彩票历史开奖页面(http://www.cwl.gov.cn/ygkj/wqkjgg/ssq/)添加了一个下载数据按钮和一个随机生成下期号码按钮,如截图所示
// ==UserScript== // @name 彩票开奖历史数据下载神器,随机生成下期数据 // @namespace wzs.com // @version 4.1.1 // @description 在彩票历史开奖页面(http://www.cwl.gov.cn/ygkj/wqkjgg/ssq/)添加了一个下载数据按钮和一个随机生成下期号码按钮,如截图所示 // @author [email protected] // @match https://www.cwl.gov.cn/ygkj/wqkjgg/ssq/* // @icon https://www.cwl.gov.cn/images/logo-top.png // @grant none // ==/UserScript== (function() { let a=document.querySelector("body > div.main > div > div > div.ygkj_wqkjgg > div > div.body-content-item > div.table-hea > div > span") let btn=document.createElement("button") let tab=document.querySelector("body > div.main > div > div > div.ygkj_wqkjgg > div > div.body-content-item > div.table.ssq") let div=document.createElement("div") let btn2=document.createElement("button") btn2.innerText="随机下期" btn2.setAttribute("id","rangen") div.appendChild(btn2) let spa=document.createElement("span") div.appendChild(spa) tab.parentNode.insertBefore(div,tab) btn.innerText="下载数据" btn.setAttribute("id","downData") a.parentNode.insertBefore(btn,a) btn2.addEventListener("click",()=>{ let res=genRandonResult() let span=div.querySelector("span") span.innerText=res.join(",") // console.log(res) }) btn.addEventListener("click",async function(){ // console.log("点击了按钮",data3) let endPage=document.querySelector("#layui-laypage-1 > a.layui-laypage-next").previousSibling.innerText//最后一页 console.log("最后一页",+endPage) let results=[] for (let i=1;i<+endPage+1;i++){ console.log(`正在下载${i}页`) let a= await fetch(`https://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&pageNo=${i}&pageSize=30&systemType=PC`, { "headers": { "accept": "application/json, text/javascript, */*; q=0.01", "accept-language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "x-requested-with": "XMLHttpRequest" }, "referrer": "https://www.cwl.gov.cn/ygkj/kjgg/", "referrerPolicy": "strict-origin-when-cross-origin", "body": null, "method": "GET", "mode": "cors", "credentials": "include" }).then(res=>res.json()) results=[...results,...a.result.map(item=>{ return { code:item.code, date:item.date, red1:item.red.split(",")[0], red2:item.red.split(",")[1], red3:item.red.split(",")[2], red4:item.red.split(",")[3], red5:item.red.split(",")[4], red6:item.red.split(",")[5], blue:item.blue } })] } console.log("json数据",results) jsonToExcel(results, "期号,开奖日期,红1,红2,红3,红4,红5,红6,蓝","彩票开奖数据2023") }) // Your code here... })(); /** * 导出 json 数据为 Excle 表格 * @param {json} data 要导出的 json 数据 * @param {String} head 表头, 可选 参数示例:'名字,邮箱,电话' * @param {*} name 导出的文件名, 可选 */ function jsonToExcel(data, head, name = '导出的文件名') { let str = head ? head + '\n' : ''; data.forEach(item => { // 拼接json数据, 增加 \t 为了不让表格显示科学计数法或者其他格式 for(let key in item) { str = `${str + item[key] + '\t'},` } str += '\n' }); console.log(str) // encodeURIComponent解决中文乱码 const uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str); // 通过创建a标签实现 const link = document.createElement("a"); link.href = uri; // 对下载的文件命名 link.download = `${name + '.csv'}`; link.click(); } function genRandonResult(){ let arr=[] let arr2=[] for(let i=1;i<34;i++){ arr.push(i) } for(let i=1;i<17;i++){ arr2.push(i) } // console.log(arr,arr2) let ressult="" let res=[] for(let i=0;i<6;i++){ let index=Math.floor(Math.random()*arr.length) res.push(arr[index]) arr.splice(index,1) } let index2=Math.floor(Math.random()*7) res=res.sort((a,b)=>{ return a-b }) res.push(arr2[index2]) return res }