Scrapers reporting that they have scraped pages they haven’t is a known bug: https://github.com/openaustralia/morph/issues/1078 - happens to mine all the time.
If your scraper runs locally, the fact that it is running for hours/failing may be related to the ongoing queuing and disk space issues discussed in My scraper stuck, what to do? and Scrapers failing with status code 128 and 255 rather than an issue with your scraper code.