You give site-scraper a start URL. It reads the site's sitemap as well, fetches each page, downloads what the page needs and rewrites every reference so that it points to the local copy. The page lands in output/<domain>/ under the same path it had on the web.
Links to other pages of the same site go back into the queue, one level deeper each time, until the depth you chose is reached. A short pause between requests keeps the load on the site low, and a summary at the end tells you what was saved and what failed.