Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- const recipeList = [];
- const titles = Array
- .from(document.getElementsByTagName('h2'))
- .filter(h2 => {
- const as = Array.from(h2.getElementsByTagName('a'));
- return as.length === 1 && as[0].innerText === '';
- })
- .map(h2 => h2.innerText)
- .slice(4, 10);
- const ingredients = Array
- .from(document.getElementsByTagName('ul'))
- .filter(ul => ul.previousSibling ? ul.previousSibling.innerText.toLowerCase() === 'ingredients' : true)
- .map(ul => Array.from(ul.getElementsByTagName('li')).map(li => li.innerText))
- .filter(lis => lis.length < 20);
- const directions = Array
- .from(document.getElementsByTagName('ol'))
- .filter(ul => ul.previousSibling ? ul.previousSibling.innerText.toLowerCase() === 'directions' : true)
- .map(ul => Array.from(ul.getElementsByTagName('li')).map(li => li.innerText))
- .filter(lis => lis.length < 20);
- console.log(titles);
- console.log(ingredients);
- console.log(directions);
- for (let i = 0; i < titles.length; i++) {
- recipeList.push('이름\t' + titles[i]);
- ingredients[i].forEach(r => recipeList.push('재료\t' + r));
- directions[i].forEach(r => recipeList.push('절차\t' + r));
- // console.log(i, titles[i]);
- // console.log(i, ingredients[i]);
- // console.log(i, directions[i]);
- }
- const element = document.createElement('a');
- element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(recipeList.join('\n')));
- element.setAttribute('download', `${(new Date).valueOf() * 1000}.csv`);
- element.style.display = 'none';
- document.body.appendChild(element);
- element.click();
- document.body.removeChild(element);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement