前端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

相关文章

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行