Skip to content

Instantly share code, notes, and snippets.

@caglarorhan
Last active September 1, 2020 03:53
Show Gist options
  • Save caglarorhan/32329c9835695d5d052f5a64d5c8c7bc to your computer and use it in GitHub Desktop.
Save caglarorhan/32329c9835695d5d052f5a64d5c8c7bc to your computer and use it in GitHub Desktop.
WindowsSpotlightImages
async function compile(){
let payload ={curPageNumber:1, thisPagesImageList:[], maxPageNumber:2};
let curPageNumber=0;
let maxPageNumber=1;
let imgList=[];
while(curPageNumber<=maxPageNumber){
let returnedObject = await linkInPage(payload);
curPageNumber = parseInt(returnedObject.curPageNumber);
maxPageNumber = parseInt(returnedObject.maxPageNumber);
imgList = imgList.concat(returnedObject.thisPagesImageList);
payload = {curPageNumber:curPageNumber, thisPagesImageList:imgList};
}
console.log(imgList)
}
async function linkInPage(payload){
let baseUrl = 'https://windows10spotlight.com/category/images/page/';
let targetReturned = await fetch(`${baseUrl}${payload.curPageNumber}`);
//console.log(`${baseUrl}${payload.curPageNumber}`);
let targetReturnedSrc = await targetReturned.text();
// DOM
let domparser = new DOMParser();
let doc = domparser.parseFromString(targetReturnedSrc, "text/html");
let curPageNumber = doc.querySelector('.page-numbers.current').textContent;
if(!doc.querySelector('.next.page-numbers')) return false;
let slashParsed = doc.querySelector('.next.page-numbers').previousElementSibling.href.split('/');
let maxPageNumber = slashParsed[slashParsed.length-1];
let thisPagesImageList=[];
doc.querySelectorAll('article img.thumbnail.wp-post-image').forEach(item=>{
//console.log(item.src);
thisPagesImageList.push(item.src.replace('-1024x576',''));
})
return {curPageNumber:parseInt(curPageNumber)+1,thisPagesImageList:thisPagesImageList, maxPageNumber:maxPageNumber }
}
compile();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment