From e159511920338a97fe4df84bd161d4b7a6642326 Mon Sep 17 00:00:00 2001 From: Clarence Chan Date: Wed, 13 Sep 2023 13:02:37 -0400 Subject: [PATCH] Implement getAllDetailedEvents function in scrape.js --- scrape.js | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/scrape.js b/scrape.js index 80293dc2..56fc04bf 100644 --- a/scrape.js +++ b/scrape.js @@ -24,10 +24,15 @@ async function getDetailsFromEventLink(url) { const response = await fetch(url); const text = await response.text(); const root = parse(text); - let name = root.querySelector("title").innerText.split(" | ")[0]; + let name = root.querySelector("title").innerText.replace(" | UFC", ""); let date = root .querySelector(".c-hero__headline-suffix") .getAttribute("data-timestamp"); + let prelimsTime = root + .querySelector( + "#main-card-id > ul > li:nth-child(2) > div > div > div.c-listing-viewing-option__column.c-listing-viewing-option__column--left > div.c-listing-viewing-option__time.tz-time-change-inner" + ) + ?.getAttribute("data-timestamp"); let location = root .querySelector(".field--name-venue") .innerText.replaceAll("\n", "") @@ -78,9 +83,31 @@ async function getDetailsFromEventLink(url) { fightCard = fightCard.map(convertLiToStr); } - let details = { name, date, location, fightCard, mainCard, prelims }; + [name, location] = [decode(name), decode(location)]; + let details = { + name, + url, + date, + prelimsTime, + location, + fightCard, + mainCard, + prelims, + }; return details; } catch (error) { console.error(error); } } + +async function getAllDetailedEvents() { + let events = []; + try { + events = await getEventLinks(); + events = events.map(getDetailsFromEventLink); + events = await Promise.all(events); + return events; + } catch (error) { + console.error(error); + } +}