Web scraping with JavaScript isn't one problem. It's three problems pretending to be one: getting the HTML, parsing it and not getting blocked while doing it at scale. Most tutorials cover the first in detail, gesture toward the second, and skip the third. That's why scrapers built from those tutorials work in dev and break a few weeks later.
This guide is the version ...