彩票开奖历史数据下载神器

在彩票历史开奖页面(http://www.cwl.gov.cn/ygkj/wqkjgg/ssq/)添加了一个下载数据按钮如截图所示

As of 15.08.2023. See ბოლო ვერსია.

 // ==UserScript==
// @name         彩票开奖历史数据下载神器
// @namespace    wzs.com
// @version      1.1
// @description  在彩票历史开奖页面(http://www.cwl.gov.cn/ygkj/wqkjgg/ssq/)添加了一个下载数据按钮如截图所示
// @author       [email protected]
// @match        http://www.cwl.gov.cn/ygkj/wqkjgg/ssq/*
// @icon         http://www.cwl.gov.cn/images/logo-top.png
// @grant        none
// ==/UserScript==





/**
 * 导出 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(){
    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")

    
    btn.innerText="下载数据"
    btn.setAttribute("id","downData")
    a.parentNode.insertBefore(btn,a)

   

    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(`http://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": "http://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("哈哈哈哈",results)


        jsonToExcel(results, "期号,开奖日期,红1,红2,红3,红4,红5,红6,蓝","彩票开奖数据2023")

    })
})();