Unlocking the Power of JavaScript for Web Scraping: A Comprehensive Guide to Extracting Data from Websites with Cheerio and Puppeteer