Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { openBrowser, goto, focus, write, $, click, getCookies, closeBrowser } = require('taiko');
- const axios = require('axios');
- const var_dump = require('var_dump');
- var sleep = require('sleep');
- var myClubs=[];
- var stages=[];
- var stagesTmp=[];
- var results=[];
- (async () => {
- try {
- await openBrowser({ headless: false });
- await goto("https://dirtrally2.com/account/login?returnUri=", { navigationTimeout: 300000 });
- await focus($("#Email"));
- await write("hauser.kristof@gmail.com");
- await focus($("#Password"));
- await write("Kristof02+");
- await click($("#login_button_container > input"));
- await goto("https://dirtrally2.com/clubs");
- const cookies = await getCookies();
- let cookieRaw = '';
- let token = '';
- cookies.forEach(cookie => {
- cookieRaw += `${cookie.name}=${cookie.value}; `;
- });
- axios.request({
- url: "https://dirtrally2.com/api/ClientStore/GetInitialState",
- method: "GET",
- headers:{
- Accept: "application/json, text/plain, */*",
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
- Cookie: cookieRaw,
- }
- }).then(response => {
- token = response.data.identity.token;
- getClubs(cookieRaw, token);
- //leaderboard(cookieRaw, token);
- })
- } catch (error) {
- console.error(error);
- } finally {
- await closeBrowser();
- }
- })();
- function getClubs(cookie, token) {
- axios.request({
- url: "https://dirtrally2.com/api/Club/MyClubs?page=1&pageSize=10",
- method: "GET",
- headers: {
- Accept: "application/json, text/plain, */*",
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
- Referer: "https://dirtrally2.com/clubs/club/260994/results/championship/0/event/0",
- Cookie: cookie,
- "RaceNet.XSRFH": token,
- }
- }).then(response => {
- //console.log(response.data);
- myClubs.push(response.data.clubs);
- var_dump(myClubs);
- myClubs[0].forEach(element=>{
- recentResults(cookie, token, element.id);
- });
- });
- }
- function recentResults(cookie, token, clubId) {
- axios.request({
- url: "https://dirtrally2.com/api/Club/"+clubId+"/recentResults",
- method: "GET",
- headers:{
- Accept: "application/json, text/plain, */*",
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
- Referer: "https://dirtrally2.com/clubs/club/"+clubId+"/results/championship/0/event/0",
- Cookie: cookie,
- "RaceNet.XSRFH": token,
- }
- }).then(response => {
- var_dump(response.data);
- stages.push(response.data.championships[0]);
- stagesTmp=[];
- stagesTmp.push(response.data.championships[0]);
- stagesTmp.forEach(e =>{
- e.events[0].stages.forEach(s=>{
- console.log("Getting results from: " + e.name + "(" + e.events[0].challengeId + "=>" + e.events[0].id+")/"+s.name+"("+s.id+")");
- leaderboard(cookie, token, e.events[0].challengeId, e.events[0].id, s.id, clubId);
- sleep.msleep(2000);
- });
- });
- //console.log(response.data);
- });
- }
- function leaderboard(cookie, token, challengeId, eventId, stageId, clubId) {
- const postData = JSON.stringify({
- "challengeId":challengeId,
- "selectedEventId":eventId,
- "stageId":stageId,
- "page":1,
- "pageSize":100,
- "orderByTotalTime":true,
- "platformFilter":"None",
- "playerFilter":"Everyone",
- "filterByAssists":"Unspecified",
- "filterByWheel":"Unspecified",
- "nationalityFilter":"None",
- "eventId":eventId
- });
- axios.request({
- url: "https://dirtrally2.com/api/Leaderboard",
- method: "POST",
- data: postData,
- headers:{
- Accept: "application/json, text/plain, */*",
- "RaceNet.XSRFH": token,
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
- Referer: "https://dirtrally2.com/clubs/club/"+clubId+"/results/championship/0/event/0",
- Cookie: cookie,
- "Content-Length": postData.length,
- "Content-Type": "application/json;charset=UTF-8"
- }
- }).then(response => {
- var resultsTmp = {
- "challengeId": challengeId,
- "eventId": eventId,
- "stageId": stageId,
- "resultsFromStage": response.data.entries
- };
- results.push(resultsTmp);
- //console.log(response.data);
- var_dump(resultsTmp);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement