Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Returns lineups from baseballpress
- *
- * @param {"2022-07-01"} date date in international format
- * @return {array} team, player, temp,
- * @customfunction
- */
- function BASEBALLPRESS(date = "2022-07-01") {
- const request = UrlFetchApp.fetch(`https://www.baseballpress.com/lineups/${date}`)
- const html = request.getContentText();
- const results = [['Date', 'Time', 'Temp', 'Precip', 'Team', 'Player', 'Info', 'Url']];
- const lineupsArray = [];
- const lineupReg = /<div class="lineup-card-header">(.*?)<div class="lineup-card">/gmsi
- let lineupResult;
- while ((lineupResult = lineupReg.exec(html)) !== null) {
- lineupsArray.push(lineupResult[1])
- }
- lineupsArray.forEach(lineup => {
- const date = /<div class="col col--min c">[\s\S]*?<div class="col col--min c">[\s\S]*?<div>(.*?)</gmsi.exec(lineup)[1]
- const time = /<div class="col col--min c">[\s\S]*?<div class="col col--min c">[\s\S]*?<div>.*?<\/div>[\s\S]*?<div>(.*?)</gmsi.exec(lineup)[1]
- const temp = /Gametime Temp: (.*?)</gmsi.exec(lineup)[1].replace(`°`, '°');
- const precip = `${/Chance of Precip: (.*?)&/gmsi.exec(lineup)[1]}%`
- const teamsArray = []
- const teamsReg = /<\/svg>\s*<div>(.*?)</gmsi
- let teamsResult;
- while ((teamsResult = teamsReg.exec(lineup)) !== null) {
- teamsArray.push(teamsResult[1])
- }
- const playersReg = /<div class="lineup-card-body"><div class="row row--no-margin h-100">(.*?)<\/div><\/div>/gmsi.exec(lineup)[1]
- const playersSplitByTeam = playersReg.split('<div class="col col--min">')
- playersSplitByTeam.filter(team => team.length > 10).forEach((team, i) => {
- const nameReg = /data-razz="[\s\S]*?">(.*?)<\/a>/gmsi
- const urlReg = /data-razz="(.*?)"/gmsi
- const infoReg = /data-razz="[\s\S]*?<\/a> (.*?)<\/div>/gmsi
- const urlArray = []
- const infoArray = []
- const nameArray = []
- let url;
- let name;
- let info;
- while ((name = nameReg.exec(team)) !== null) {
- if (name[1].includes('desktop-name')) {
- name = /desktop-name">(.*?)</gmsi.exec(name)
- }
- nameArray.push(name[1])
- }
- while ((info = infoReg.exec(team)) !== null) {
- infoArray.push(info[1])
- }
- while ((url = urlReg.exec(team)) !== null) {
- urlArray.push(url[1])
- }
- nameArray.forEach((name, j) => {
- results.push([
- date,
- time,
- temp,
- precip,
- teamsArray[i],
- name,
- infoArray[j],
- urlArray[j]
- ])
- })
- })
- })
- return results
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement