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();
- }
- })();
- async function asyncForEach(array, callback) {
- for (let index = 0; index < array.length; index++) {
- await callback(array[index], index, array);
- }
- }
- async 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);
- const start = async()=>{
- await asyncForEach(myClubs[0], async(element)=>{
- await recentResults(cookie, token, element.id);
- });
- }
- /*myClubs[0].forEach(element=>{
- recentResults(cookie, token, element.id);
- });*/
- start();
- });
- }
- async 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);
- stagesTmp={};
- stagesTmp={
- "challengeName": response.data.championships[0].name,
- "challengeId": response.data.championships[0].events[0].challengeId,
- "eventId": response.data.championships[0].events[0].id,
- "stages": response.data.championships[0].events[0].stages
- };
- stages.push(stagesTmp);
- var_dump(stagesTmp);
- for(s of stagesTmp.stages){
- console.log("Getting results from: " + stagesTmp.challengeName + "(" + stagesTmp.challengeId + "=>" + stagesTmp.eventId + ")/" + s.name + "(" + s.id + ")");
- const d=leaderboard(cookie, token, stagesTmp.challengeId, stagesTmp.eventId, s.id, clubId);
- console.log(d);
- }
- /*const stagesStart = async()=>{
- await asyncForEach(stagesTmp.stages, async(s)=>{
- await setTimeout(() => {
- console.log("Getting results from: " + stagesTmp.challengeName + "(" + stagesTmp.challengeId + "=>" + stagesTmp.eventId + ")/" + s.name + "(" + s.id + ")");
- leaderboard(cookie, token, stagesTmp.challengeId, stagesTmp.eventId, s.id, clubId);
- }, 2000);
- });
- };*/
- /*stagesTmp.forEach(e =>{
- e.events[0].stages.forEach(s=>{
- setTimeout(() => {
- 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);
- }, 2000);
- //sleep.msleep(2000);
- });
- });*/
- //stagesStart();
- //console.log(response.data);
- });
- }
- async function leaderboard(cookie, token, challengeId, eventId, stageId, clubId) {
- let 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
- });
- await 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 => {
- console.log("Status code: "+response.status);
- let resultsTmp = {
- "challengeId": challengeId,
- "eventId": eventId,
- "stageId": stageId,
- "resultsFromStage": response.data.entries
- };
- results.push(resultsTmp);
- //console.log(response.data);
- //var_dump(resultsTmp);
- return resultsTmp;
- /*return new Promise((resolve)=>{
- setTimeout(() => {
- resolve('resolved');
- }, 2000);
- });*/
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement