前端ajax获取最近kpl和lpl的比赛赛程并本地导出csv格式文件

本文主要是介绍前端ajax获取最近kpl和lpl的比赛赛程并本地导出csv格式文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前端ajax获取最近kpl和lpl的比赛赛程并本地导出csv格式文件

  • 前言
    • 使用的简单js函数体
      • 1、data_to_csv
      • 2、加载jquery
    • 下载kpl赛程
    • 下载lpl赛程
    • 使用方法:
    • 运行结果

前言

在浏览器的console面板中,通过ajax,将lpl和kpl的赛程信息搞出来。
涉及到的api接口:
kpl的是:
https://tga-openapi.tga.qq.com/web/tgabank/getSchedules?seasonid=KPL2023S2&is_people=1
lpl的是:
https://apps.game.qq.com/lol/match/apis/searchBMatchInfo_bak.php?..

使用的简单js函数体

1、data_to_csv

// 导出data数据,为csv文件。表现为:下载csv文件
function data_to_csv(data, name) {const blob = new Blob(data, {type: 'text/csv,charset=UTF-8'});const uri = URL.createObjectURL(blob);let downloadLink = document.createElement('a');downloadLink.href = uri;downloadLink.download = (name+".csv")||"temp.csv";document.body.appendChild(downloadLink);downloadLink.click();document.body.removeChild(downloadLink);
}

2、加载jquery

// 简单加载个js库,比如:加载jquery
function js_load(url){var js = top.document.createElement('script');js.type = 'text/javascript';js.src = url;top.document.head.append(js);
}
js_load('https://libs.baidu.com/jquery/1.8.3/jquery.min.js');

下载kpl赛程

// 为了方便调用,搞成一个简单的函数
function down_kpl() {var durl = 'https://tga-openapi.tga.qq.com/web/tgabank/getSchedules?seasonid=KPL2023S2&is_people=1';jQuery.ajax({url: durl,dataType: 'json',success: function(res){console.log('ok', res);var dx = res.data;var items = [];items.push(["赛季", "比赛名", "比赛分组", "比赛时间", "主队分组", "主场队伍1",  "客场队伍2", "客队分组", '\n'])for(var i=0; i<dx.length; i++){var item = dx[i];items.push([item['season'], item['stage_name'], item['match_group'], item['match_time'], item['host_group'], item['hname_zh_CN'],  item['gname_zh_CN'], item['guest_group'], '\n'])}if (items && items.length>1) {data_to_csv(items, "kpl-赛程");}},complete: function(res){//console.log('err', res);}})
}

下载lpl赛程

// 为了方便调用,搞成一个简单的函数
var downlpl_nday = 15;  // 下载从今天算起,最近15天的赛程
function down_lpl(){var tnow = new Date();var durl_start=tnow.toLocaleDateString('zh', {hour12: false}).replaceAll("/", "-");var tend = new Date(tnow.getTime()+1000*3600*24*downlpl_nday)var durl_end=tend.toLocaleDateString('zh', {hour12: false}).replaceAll("/", "-");var durl = 'https://apps.game.qq.com/lol/match/apis/searchBMatchInfo_bak.php?p8=5&p1=190&p4=&p2=&p9='+ durl_start + '%2000%3A00%3A00&p10=' + durl_end +  '%2023%3A59%3A59&p6=3&p11=&p12=&page=1&pagesize=9999&r1=retObj_lpl&_=1687082345131';js_load(durl);setTimeout(function(){var ddd = retObj_lpl.msg.result;var items = [];items.push(["赛季", "比赛名", "比赛时间", "比赛周", "\n"]);for(var i=0; i<ddd.length; i++){var item = ddd[i];items.push([item['GameName'], item['bMatchName'], item['MatchDate'], item['GameProcName'],  '\n'])}if (items && items.length>1) {data_to_csv(items, "lpl-赛程");}}, 1000);
}

使用方法:

因为涉及到ajax跨域,所以:
方法1:
只可以在同域名的 相关网址对应的console面板中复制执行
比如:下载kpl的话,就用这个
https://pvp.qq.com/match/kpl/kingproleague/index.html
下载lpl的话,就用这个
https://lpl.qq.com/web202301/schedule.html
方法2:
在edge浏览器的插件市场上找个允许跨域执行的插件,比如:
https://microsoftedge.microsoft.com/addons/detail/allow-cors-accesscontro/bhjepjpgngghppolkjdhckmnfphffdag

鼠标点击右上角插件,将那个 C: 点亮。就可以在任何未设置 header 内容安全策略(content-security-policy)的网站执行了。
在这里插入图片描述

运行结果

就是下面这个样子的:
在这里插入图片描述

这篇关于前端ajax获取最近kpl和lpl的比赛赛程并本地导出csv格式文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/414556

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断